1. 第一个Python代码

在自己电脑的任意目录下创建任意文件,如:D 盘下创建了一个名字叫 51devops.py 的文件,然后在文件中写以下代码。

1
2
3
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print('hello world!')

2. 执行方法和解释器

执行方法

1
python D:\51devops.py

上述代码表示的是: 51devops.py 脚本由 python 解释器来执行。

3. 编码

  • ascii,(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
  • unicode,(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,注:此处说的的是最少2个字节,可能更多.
  • utf-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存.

python2默认的解释器编码ascii
python3默认的解释器编码utf-8

4. 输出

写代码就是为了让计算机为我们工作,我们交给计算机一些数据,然后让计算机去工作,最后将结果呈现出来。
JDKjFs.md.jpg

咱们直接在这里边写东西 然后右键鼠标找到run左键点击一下,这个Python就输出出来了。
print() 括号里面的内容就是要输出的内容,如果是文字和字母需要用英文的引号引起来,数字直接写就可以啦

1
2
3
4
5
Python2 输出写法:
print 'hello world'
python3 输出写法:
print('hello world')
我们学习的python3版本,python2版本是什么样也要知道

5. 变量

5.1 变量初识

在接触变量之前,我先给大家看一段代码:

1
2
3
print(1+2+3+4+5)
print(((1+2+3+4+5))*5+6)
print((((1+2+3+4+5))*5+6)*7)

上面的代码只是举个例子,我们在计算加减乘除是不是很麻烦,那有什么解决方法呢?咱们是不是可以用一个东西代替一下他的中间结果呢?比如换成如下的代码:

1
2
3
4
x = 1+2+3+4+5
y = x*5 + 6
z = y*7
print(z)

上述的代码使用 x,y,z 之后,代码是不是瞬间清晰了很多,那其实这个 x,y,z 就是所谓的变量,而变量其实就是为他起一个“外号”,方便以后使用。(变量就是将中间的结果暂存到内存,以便后续程序调用)

5.2 变量详细解释

变量在python中经常使用,比如上面的例子,再比如我设置一个变量
name = ‘51devops’ 那么name指向的就是‘51devops’ 无论我在哪里调用name,他的结果就是51devops,可以暂存一些临时数据。

1
2
3
4
5
name  =  '51devops'
# 这样的形式就是在定义一个变量
name 是一个变量名
= 是一个赋值操作 赋值就是将值交给name
'51devops' 是一个值
5.3 变量的命名规则
  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 不能用python内置关键字
    [‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
  • 建议:
    • 变量名建议不使用拼音和中文
    • 变量的要具有意义
    • 变量名不要过长
  • 变量名要区分大小写
  • 变量名推荐写法:
    • 驼峰体 MeetTheGirl
    • 下划线 meet_the_girl
5.4 变量的小练习
1
2
3
4
5
6
7
8
9
age = 12
age = 12 + 1
age1 = age + 1
print("我今年:",age1)
name1 = '51devops'
name2 = name1
name1 = '51devops2'
name3 = name2
打印name1,name2name3分别对应的值是什么

通过上边的练习我们可以得出一个宗旨,就是解释型语言是从上至下依次执行,每执行一行,后面的将会把前面的覆盖

6. 常量

常量就是将变量名大写,尽量保持不更改的一种量
这个常量有是干什么的呢 其实我生活中就有一些定死了的量
比如生日,身份证
咱们代码中,也应该有一些这样的东西,我从设计之初就是不让任何人改变的,所以这个东西就是常量。下面举一些例子:

1
BIRTHDAY = '1990-09-21'

7. 注释

在你写代码时,有些代码写的比较经典,或者过于复杂,你一眼看不出来,怎么办,比如在文言文中,有些出处或者偏难怪的文字,你是不是不理解?
那么怎么办呢?是不是就得有简单说明。

注释就是做这个的,我们来看一下怎么用

1
2
3
4
5
# 这个就是给这一行进行注释,注释后的代码不会执行
'''
这种的是多行注释, 什么是多行注释啊,其实很简单就是咱们注释的内容可以
进行换行
'''

看个示例:

1
2
3
4
5
6
# print('hello') 这样就是对这个代码进行注释,并且这个代码不会执行
'''
print(1)
print(2)
这种就是多行注释,这样的注释也不会执行
'''

8. 基础数据类型

8.1 什么是数据类型?

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型

8.2 数字

int是整型;也就是我们从小就接触的数学中的整数,整型在计算机中运于计算和比较

1
2
3
32位机器上int的范围是: -2**312**31-1,即-21474836482147483647

64位机器上int的范围是: -2**632**63-1,即-92233720368547758089223372036854775807

够你用了吧. 注意这些是整数.

8.3 字符串

str是字符串;也就是我们从小就接触的中文,如果我们在程序中直接把中文写入,程序是不能分辨这是个什么鬼东西.所以我们要遵循一种规则让计算机能够识别,这个规则就是只要是用引号引起来就是字符串.在Python中,凡是用引号引起来的,全是字符

问题:数字类型可以做运算,字符串可以吗??

  • 字符串加法

    1
    2
    3
    4
    #字符串的拼接
    s1 = 'a'
    s2 = 'bc'
    print(s1 + s2)
  • 字符串乘法

    1
    2
    name = '坚强'
    print(name*8)

字符可以用单引号,双引号,或者三引号引起来,没有什么区别,只是一些特殊的格式需要不用的引号 比如:

1
2
3
4
5
6
7
msg = "My name is zhangsan , I'm 22 years old!" 这个就需要单双引号配合。
msg =
""" 今天我想写首小诗,
歌颂我的同桌,
你看他那乌 的短发,
好像 一只炸毛鸡。
"""
8.4 布尔值

bool是布尔值;其实这个东西也是我们很小就接触的东西,俗话说人要<是非分明>.其实这个bool值就是我们所说的是非,布尔值中一共分为俩个状态

True 就对应我们话中的是,白话来说就是真
False 就对应我们话中的非,白话来说就是假

例如我们想让计算机帮我们做一下俩个的大小比较

1
2
3
4
print(3>7)
结果: False
print(7>3)
结果: True

9. 输入

你在一些网页和登QQ是不是常常遇到让你输入你的账户或者密码的情况,

这样的情况在程序中会大量的存在,接下来我就给大家讲这个功能

s = input(‘请输入你喜欢的东西’)

input就是固定格式,他是输入的意思 括号里边的内容是提示是给用户看的提示语句,用户输入的内容让input接收了然后赋值给了字符串s

输入用户名示例
JDMimF.md.gif

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#将用户输入的内容赋值给name变量
python2的写法
name = raw_input("请输入用户名:")
print name
python3的写法
name = input("请输入用户名:")
print(name)

需要注意的是input程序交互获取到的内容是字符串,我们看下面的简单示例:

1
2
3
4
5
6
7
8
num = input('请输入数字:')
print(num + 5)
结果:
请输入数字:6
Traceback (most recent call last):
File "D:/python_object/test.py", line 350, in <module>
print(num + 5)
TypeError: must be str, not int

报错了,提示我们类型错误,数字和字符串是不能相加的.可是我们输入的明明是数字啊.其实我们看着输入的是数字但是input获取到的都是字符串
这个知识点用在哪里?

在工作中如果需要用户输入一些个人信息比如账号,密码,性别,爱好等,即是你需要将你输入的信息传递给程序当中,那么就需要用到用户交互input。

10. 流程控制

你在生活中是不是经常遇到各种选择,比如玩色子,猜大小,比如选择走那条路回家?Python程序中也会遇到这种情况,这就用到了if语句。

这个功能就是Python中的流程控制语句if。
那么如何使用这个功能呢?(下面就是)

1
2
If 条件: #引号是将条件与结果分开。
结果。# 四个空格,或者一个tab键,这个是告诉程序满足这个条件的结果。

if
判断条件

1
2
3
age = input("输入年龄:")
if int(age) >= 18:
print("成年了,能干成年人的事了")

if else
二选一

1
2
3
4
5
age = input('请输入您的年龄:')
if int(age) > 18:
print('你可以去网吧尽情的嗨皮了')
else:
print('你现在还不行啊!')

以上这种写法是让用户输入内容,然后进行比较,如果一个条件成立那就执行print,为了明确的区分改执行哪些部分,当条件成立后执行缩进的代码

然后程序就退出了.下边的else就不会在执行了

if elif
多个选项进行单选(选择题)

1
2
3
4
5
6
7
num = input('请输入要比较的数字:')
if int(num) >= 22:
print('可以扯证了')
elif int(num) >= 18:
print('成年了,可以干一些成年的事了')
elif int(num) < 18:
print('还是小屁孩')

以上写法就是我们做的单选题一样,三个分支判断中只要有个成立,其余都不在执行

1
2
3
4
5
6
7
8
9
name = input('请输入名字:')
if name == 'meet':
age = input('请输入年龄:')
if int(age) == 18:
print('输入全部正确')
else:
print('年龄输入错误!')
else:
print('名字输入错误!')

这样写法很常用,这样我们就可以明确的知道用户输入的名字和年龄那个是错误的,并且还做一个判断如果名字正确后在进行判断密码。

11. 作业

1.列举你了解的编码及他们之间的区别?
2.列举你了解的Python2和Python3的区别?
3.你了解的python都有那些数据类型?
4.补充代码,实现以下功能。

1
2
value =  _____ 
print(value) # 要求输出 51devops"niubi

5.用print打印出下面内容:

1
2
3
4
⽂能提笔安天下,
武能上⻢定乾坤.
⼼存谋略何⼈胜,
古今英雄唯是君。

6.变量名的命名规范和建议?
7.如下那个变量名是正确的?

1
2
3
4
5
name = '51devops'
_ = 'echo'
_9 = "zhangsan"
9name = "xxx"
devops(edu = 666

8.简述你了解if条件语句的基本结构。
9.设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
10.写程序,成绩有ABCDE5个等级,与分数的对应关系如下.

1
2
3
4
5
A    90-100
B 80-89
C 60-79
D 40-59
E 0-39

要求用户输入0-100的数字后,你能正确打印他的对应成绩.
11.模拟10086客服电话(条件语句的嵌套)