第一部分 变量
1.1 变量定义二要素:变量名、赋值
x = 1
1.2 变量的命名
1.2.1 哪些可以用来做变量名?
- 大写字母、小写字母、数字、下划线、汉字及其组合。
- 严格区分大小写
Python_is_第1名 = True
python_is_第1名 = False # 与上面的变量不是一个
1.2.2 哪些情况不被允许?
- 首字符不允许为数字
- 变量名中间不能有空格
- 不能与33个Pyhton保留字相同
# 错误案例
1_fruit = "apple"
my fruit = "apple"
for = True
Python 保留字
1.2.3 变量名定义技巧
- 变量名尽可能有实际意义,表征数据的某种特性
- 下划线(推荐:变量和函数名) 变量名由多个单词组成:用_连接多个单词
a = [17, 18, 19] # 看不出用途
age_of_students = [17, 18, 19] # 一目了然
- 驼峰体(推荐:类名) 变量名由多个单词组成:单词首字母大写
AgeOfStudents
- 尽量避免用中文和拼音做变量名
- 特殊的变量:常量(不变的量,如𝜋、e) 变量名所有字母均为大写
MAX_ITERATION = 1000
1.3. 变量的赋值
1.3.1 一般赋值
- 通过等号自右向左进行赋值
x = 1+2
print(x)
3
1.3.2 增量赋值
x = 10
x += 10 # 加减乘除等皆可 效果相当于x = x + 10
print(x)
10
1.3.3 打包赋值
x, y = 1, 2
print(x, y)
1 2
互换变量
x, y = y, x
print(x, y)
2 1
第二部分 输入输出
2.1 动态交互输入 input
- 在程序运行的过程中进行输入
- input 得到的数据是字符串类型
x = input("请输入一个数字:")
y = input("请输入一个数字:")
print(x)
print(y)
print(x + y)
print(type(x))
请输入一个数字:4
请输入一个数字:3.5
4
3.5
43.5
<class 'str'>
eval() 去掉引号
x = eval(input("请输入一个数字:"))
y = eval(input("请输入一个数字:"))
print(x)
print(y)
print(x + y)
请输入一个数字:4
请输入一个数字:3.5
4
3.5
7.5
2.2 打印输出 print
- 直接打印数据
print("我是一颗小星星")
print(1234)
我是一颗小星星
1234
- 打印变量
x = 1024
print(x)
1024
- print 默认换行
print(1)
print(2)
1
2
- 如果不想换行怎么办?
换行控制 end=""
- end后面的字符串代表要以什么结尾,通常用空格
print(123,end=" ")
print(456)
123 456
- 有时候,我们需要一些复杂的输出:比如几个变量一起组合输出
PI = 3.1415926
E = 2.71828
print("PI = ", PI, "E = ", E)
PI = 3.1415926 E = 2.71828
- 上面的方法,如果变量很多,看起来比较凌乱
2.3 格式化输出方法 format
2.3.1 基本格式
"字符{0}字符{1}字符".format(v0,v1)
- 按位置顺序对应
PI = 3.1415926
E = 2.71828
print("PI = {0},E = {1}".format(PI, E))
print("PI = {1},E = {0}".format(PI, E))
print("PI = {},E = {}".format(PI, E)) # 不写数字就按顺序填入
print("PI = {0},E = {0}".format(PI, E)) # 很多位置需要相同变量时会很方便
PI = 3.1415926,E = 2.71828
PI = 2.71828,E = 3.1415926
PI = 3.1415926,E = 2.71828
PI = 3.1415926,E = 3.1415926
2.3.2 填充输出
- 冒号代表要进行修饰了
- *代表要填充的字符
- ^代表数据居中,<代表左对齐,>代表右对齐
- 20代表输出的宽度
PI = 3.1415926
print("{0:*^20}".format(PI))
*****3.1415926******
2.3.3 数字千分位分隔符
print("{0:,}".format(10000000))
10,000,000
- 同时输出填充和千分位分隔符
填充要写在千分位分隔符前面
print("{0:&>20,}".format(10000000))
&&&&&&&&&&10,000,000
2.3.4 字符串最大输出长度
print("{0:.2}".format("abcde"))
ab
2.3.5 浮点数简化输出
保留2位小数
PI = 3.1415926
print("{0:.2f}".format(PI))
3.14
按百分数输出
print("{0:.1%}".format(0.818727))
81.9%
科学计数法输出
print("{0:.2e}".format(0.818727))
8.19e-01
2.3.6 整数的进制转换输出
- 十进制整数转二进制、unicode码、十进制、八进制、十六进制输出
print("二进制{0:b},Unicode码{0:c},十进制{0:d},八进制{0:o},十六进制{0:x},十六进制{0:X}".format(450))
二进制111000010,Unicode码ǂ,十进制450,八进制702,十六进制1c2,十六进制1C2
2.3.7 小结
"字符{0:修饰}字符{1:修饰}字符".format(v0 ,v1)
严格按照顺序
: | 填充 | 对齐 | 宽度 | , | .精度 | 类型 |
---|---|---|---|---|---|---|
引导符号 | 用于填充的字符,如* _等 | < 左对齐、> 右对齐、^ 居中对齐 | 设定输出的宽度 | 数字千分位分隔符,适用于整数和浮点数 | 浮点数:小数部分精度;字符串:最大输出长度 | 整数类型:b,c,d,o,x,X;浮点类型:e,E,f,% |
第三部分 PEP8格式指南
3.1 行最大长度
- 所有行限制的最大字符数为79,如果太长,需要用滑动条去看,不利于程序阅读。
3.2 缩进
- python用缩进来表示语句间的逻辑
- 在 for while if def class等之后下一行开始进行缩进,表明后续代码与前句之间的从属关系
- 缩进量:4字符,或者tab,不能混用
for i in [1, 2, 3]:
print(i)
print("打印结束")
3.3 使用空格
- 二元运算符两边加一个空格
x = 2 # 赋值
x += 4 # 增量
6 > 2 # 比较
- 使用不同优先级的运算符,考虑在最低优先级的运算符周围添加空格
x = x*2 - 1
z = x*x + y*y
c = (a+b) * (a-b)
- 在逗号后使用空格
x, y = 1, 2
ls = [1, 2, 3]
- 不要使用一个以上的空格
x = 2 # 空格一个就够了,不应过多
3.4 避免使用空格
- 在制定关键字参数或者默认参数值的时候,不要在=附近加上空格
def fun(n=1, m=2):
print(n, m)
3.5 小结
- 以上属于PEP8格式指南的部分内容,养成良好的编码规范利人利己
- 格式约定的目的:
使大量Python代码风格一致
提升代码可读性 - 尽信书不如无书,不应死板教条的执行格式规范
项目规范优先
第四部分 注释
4.1 单行注释
几点建议:
- 通常距离代码空4格
- 如果需要上下对齐,空格数可以根据需要来定
- #后面空一格再写注释内容
a=1 # 我是单行注释
4.2 多行注释
"""
1
2
3
4
"""