# 在编写Python代码时候,需要遵循PEP8规范,可以提高代码的可读性,方便编程人员间的协作,降低代码的维护成本
# pyhton编程语言的学习成本相对较低,这里整理了一下python3的语法,学好一门语言,需要先掌握语法,希望这篇文章能帮到想要入门的你
# 缩进,空格,注释,大小写,变量,常量,标识符,运算符,关键字,数据类型等
一)缩进规则
1.python用缩进规则来控制管理代码,但不能随意缩进,python是使用缩进来区分层级关系
2.同一个级别的代码块,缩进的空格一致,建议使用空格,新人可以用tab键(等于4个空格)
x = 10 # 定义一个变量x, 把10赋值给x
if x > 10: # 如果满足x大于10这个条件
print("x的值大于10") # 就执行这一行的代码
else: # 否则不满足上面所有的条件
print("x的值不大于10") # 就执行else里面的代码
# 1.定义变量和if条件,两行代码没有从属关系,全部顶格写
# 2.if条件语句,满足条件之后需要执行代码,跟后面的输出代码有从属关系,需要缩进
二)空格的使用
1.双元运算符两边需要有空格,逗号,冒号出现在句中,需要加空格,在句尾不用加
# 双元运算符前后都需要加空格
a = 10 * 2 # 例如算数运算符: +, -, *, /, %, **, 等符号的前后都许加上空格
# 例如比较运算符: >, >=, <, <=, ==, 等符号的前后都许加上空格
# 例如赋值运算符: 赋值运算符=, +=, -=, *=, /=, %=, **=, //=
# 冒号, 逗号, #号, 如果在句中, 后面也需要加空格
dict = {"key1": "value1", "key2": "value2"}
if a >= 0: # 冒号在末尾的时候不需要加空格
pass # 跳过
三)注释的使用
1.单行注释用#号,在需要注释的代码行最前方加一个#号
2.多行注释用"""注释的代码""",三对引号,单引号双引号都可以,需要成对出现
3.快捷键注释:选择要注释的代码,可以一次选择多行,按ctrl + /进行注释
# 注释的代码都是不执行的,适当的注释,可以让其他人更快的熟悉你的代码
"""
三引号里面的代码也是不运行的
"""
'''
三个单引号也是注释代码
'''
三)python严格区分大小写
四)一行只写一条语句,通常不超过80个字符
# 换行
str = "这一行代码过长的时候,可以直接在想换行的位置" \
"用Enter键换行,或者手动敲一个\即可"
# 一行一条语句
if a == 0:
print("a")
# if a == 0: print("a") # 不要写成这样,一行只写一条语句
五)关键字/保留字(被python赋予了特定含义的一些英文单词,35个关键字)
import keyword # 导入关键字
keys = keyword.kwlist # 把关键字列表的数据赋值给变量keys,返回的是一个列表
print(keys) # 输出keys的值
# 输出结果:
"""
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
'try', 'while', 'with', 'yield']
"""
六)标识符:在python中给一些变量,函数,类,包等取名字要遵循的规则
1.标识符是以字母,数字下划线组成的
2.标识符不能以数字开头
3.标识符不能使用关键字
4.需要顾名思义
5.类名:首字母大写,驼峰形式:XxxYyyZzz MyName MyBook
6.变量,函数,包名:英文小写,aa,ab_1
七)数据类型
"""
python的标准6种数据类型:数字类型,字符串类型,元组,列表,字典,集合
1.字符串str,用''引号引起来的数据,有序不可变序列
2.列表list,用[]中括号括起来的数据,有序可变序列
3.字典dict,用{"键": "值"}大括号起来,键值对形式的数据,无序可变序列
4.元组tuple,用()小括号括起来的数据,有序不可变序列
5.数字类型:int,float,bool,complex(复数类型),无序不可变序列
bool类型只有2个值,True,False
在python3中把True,False定义成了关键字,但是它们的值还是1,0
6.集合set,用{"var1", "var2"}大括号括起来,非键值对,无序可变序列
注意:数据类型,存储方式,都是容器,可以在内存中存储大量的数据,程序结束,就自动清除了
"""
# 1.定义一个数字类型的变量
var_num = 10
print(var_num, type(var_num))
# 2.定义一个字符串类型的变量
var_str = "python"
print(var_str, type(var_str))
# 3.定义一个列表类型的变量
var_list = ["python", 10, ["hello", var_str], {"key": 'value'}, ("hei", False)]
print(var_list, type(var_list))
# 4.定义一个字典类型的变量
var_dict = {"py": "he", 10: "n", ("张三"): {"age": 20}, True:[1, 2]}
# 字典中的键不能是字典,不能是列表,不能是集合
print(var_dict, type(var_dict))
# 5.定义一个集合
var_set1 = {"值1", "值2"}
print(var_set1, type(var_set1))
八)常见的运算符
"""
1.算术运算符:+, -, *, /, %, **求幂, //向下取整
# 需要注意的是字符串只能通过加号单纯的连接起来,无法运算
**求幂:a**b意为a的b次方
//取整除,向下取整:返回商的整数部分
15 // 2意为求15/2得到的数字整数部分,结果为7
如果是-15 // 2 得到的结果是-8,都是向负无穷取整
2.赋值运算符:=, +=, -=, *=, /=, %=, **=, //=
a += 1 # 等同于a = a + 1,循环的时候常用
a -= 1 # 等同于a = a - 1
3.比较运算符:==, !=, >, <, >=, <=
如果结果满足条件,则返回的是True如果条件不满足则返回False
注意:< >(不等于,但是在python3中已经不能用了)
4.逻辑运算符:and(并且), or(或者), not(否)
5.换位运算符:按位与运算符&,按位异或运算符|,按位取反运算符~
6.成员运算符(可以理解为是否包含,一个值是否是另一个值的成员)
in(在什么里面) not in (不在什么里面)
7.身份运算符
身份运算符is用于判断两个变量引用对象是否为同一个(同一块内存空间)
比较运算符的 == 用于判断引用变量的值是否相等
is is not
"""