1.基本语法
1.1注释
写在代码中不参与编译执行的部分就是注释。作用是用来对代码进行注释说明,方便程序更好的阅读代码
注意:要勤写注释,方便自己也方便别人!
单行注释:在文本内容的前面#
多行注释
方法一:每一行前都加一个#号
#我是注释1
#我是注释2
方法二:将注释放在三个单引号/三个双引号中(推荐使用双引号)
"""
我是多行注释1
我是多行注释2
"""
1.2标识符
标识符是用来命名的(比如变量名、函数名、类名)
要求:a.由字母数字和下划线组成,并且数字不能开头 --- python2.x规范,
b.在Unicode编码中,除了ASCII码表中的字母、数字、下划线以外的部分不能作为标识符的一部分,其他的都可以。数字不能开头 (由字母数字下划线和中文组成,数字不能开头) --- python3.x规范
注意:在实际开发,现在还是推荐使用python2.x的规范
abc = 100
abc123 = 100
abc_123 = 20
_123 = 100
\# 1abc = 100 # 报错:SyntaxError
你好 = 100
1.3语句
C/Java语法,每条语句结束必须加分号。
python中一条语句结束可以加分号也可以不交;如果一行要显示多条语句,那么每条语句之间必须加分号;
print('hello python!'); print('hello world!')
1.4.行和缩进
python中对缩进有严格规范,要求同样等级的代码对应的缩进必须一致;只有在需要产生代码块的时候才需要加缩进
行:要求函数的声明和类的声明的前后需要有两个空行(不会报错)
print('abc')
# print('ABC') # IndentationError:unexpected indent
1.5多行显示问题
a.在需要换行的位置加,然后再换行(\不要破坏数据本身)
b.如果是列表、字典、元祖和集合的值,可以直接换行
sum1 = 1992374821734 + 391437128467 + \
4985749775 + 98347592367485+ 78 + 787834 \
+ 4767582 + 3756 + 398475
names = [
12,
787347,
298378,
972893748973, 39785,
2738957, 4273857,
342978, 3849758,
3487985, 48993
]
1.6常见的数据类型及其字面量
整型(int)、浮点型(float)、布尔(bool)、字符串(str)、列表(list)、字典(dict)、元祖(tuple)、集合(set)等
整型:相当于数学中的整数,例如:100, -12, +30,0
浮点型:带小数点的数, 例如:12.5, 3.14, 0.23, 0.0, -12.34
布尔:只有两个值分别是True(真)和False(假)
字符串: 用单引号或者双引号括起来的数据, 例如:'abc', '100', "abc100=~"
1.7关键字(保留字)
在python中有特殊功能和特殊意义的一些标识符(单词)。
import keyword # 导入keyword模块
print(keyword.kwlist) # 打印所有的关键字
['False', 'None', 'True', 'and', 'as',
'assert', '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']
注意:在上面的[]中的内容才是关键字,其他的都不是
2.常用快捷键
3.数据类型
不同的类型,在内存中存储时候所占的内存不一样
3.1.python中的数字类型有四个:整型(int)、浮点型(float)、布尔(bool)、复数(complex);
a.整型(int):包含python所有的整数,python3.x整型只有int类型这一种,但是python2.x除了int还有long
100
123
-78
+782
b.浮点型(float):包含python所有的小数
注意:浮点型支持科学计数法
12.89
-123.9098
+237.890
print(12e2) # 12*10^2 1200.0
print(12e-3) # 12*10^(-3) 0.012
c.布尔(bool): 布尔类型的值只有两个,分别是True(真)和False(假)
注意:布尔值的首字母是大写的
True对应的数值其实是1, False对应的数值是0
True
False
print(False+1)
d.复数(complex)
复数:有实部和虚部组成的数字
10+10j
3.2.type(数值/变量): 获取括号中值的类型
print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))
3.3.类型名():将其他的类型的数据转换成当前类型
print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
print(float(100+10j))
注意:复数不能转换成整型/浮点型
4.变量
4.1.什么是变量
声明变量,就是在内存中开辟空间存储数据。变量就是程序在内存中存储数据的容器
4.2.怎么声明变量
C/Java声明变量: 类型 变量名 = 初值;
Python声明变量: 变量名 = 初值
变量名 = 初值
说明:
a.变量名:程序员自己命名,要求是标识符,并且不能是关键字; 所有的字母必须是小写的,如果变量名是由多个单词组成,多个单词之间用下划线隔开;见名知义(看见变量名,要知道这个变量大概存的是什么样的数据)
b. = :赋值符号,功能是将=右边的值赋给左边的变量
c.初值:有值的表达式(具体的字面量、其他已经声明过的变量)
声明一个变量number,并且赋值为100
number = 100
print(number)
True = 12.5 # SyntaxError: can't assign to keyword
1abc = True # SyntaxError: invalid syntax
ABC = 10j
student_name = '小明'
print(student_name)
注意:虽然int、float、bool、str等不是关键字,但是在需要命名的时候最好用他们来命名。否则会改变他们原来的功能;
int = 100
print(int)
int(80.9)
4.3.声明完一个变量可以给变量重新赋值
重新赋值后,新的值会覆盖变量中原来的值
student_name = '小花'
print(student_name)
python中,同一个变量可以存储不同类型的值
student_name = 100
print(student_name)
4.同时声明多个变量
变量名1=变量名2=变量名3 = 初值
a = b = c = 123
print(a,b,c) # print同时打印多个数据,多个数据之间用逗号隔开
将变量student_name中的值,赋给new_name
new_name = student_name
注意:变量只有在赋完值后才能使用(只能声明后才能使用)
print(new_name2) # definedNameError: name 'new_name2' is not
5.运算符
python中的运算符包括:数字运算符,比较,逻辑,赋值,位运算
数学运算符:+—*/% // **
/与c中不一样
print(1/3)#0.33333333333333
%取余数
print(2.4%2)#0.3999^浮点数取余会不精确。
//(整除)取商的整数部分
print(5//2)
print(6.40//2)#3.0
**(幂运算):求幂
print(3**2)#9
print(9**0.5)#开平方
print(8**(1/3))#开3方
比较运算符:> < == != >= <=
比较结果为True或False
print(int(100==10)) #0
num=10
print(num==100)#False
print(num)#10
逻辑运算符:and与,or或,not非(均为关键字)
逻辑运算符运算对象和结果均为bool
and全True为True
or全False为False
not取反
print(True and True)
print(True and False)
print(False or False)
print(True or False)
print(not True)
可以有多个and,or,not
python中的and和or会有短路现象:
False amd (bool2),不会判bool2的值。
赋值运算符:= += -= *= /= //= **=
赋值运算符左边必须是变量
先计算赋值运算符右边的结果,在赋值给左边
result=10>100
print(result)#False
+= -= = /= //= =要求左边的变量本身必须是有值的
运算符优先级:
数学运算符>比较>逻辑>赋值
数学运算符中>,/,%,//>+,-
print((10>100)-20)#-20d'j'f