变量
Pyhon中不需要显示声明变量的数据类型。
Pyhton是动态类型语言,同一变量可以被赋值为不同的对象类型
x = 20
print(x)#20
x = "abc"
print(x)#abc
Python是强类型语言:在运算过程中不会自动进行数据类型转换,除了int、float、bool和complex之间
print(1+True)#2
print(1+1.2)#2.2
print(1+(1+3j))#(2+3j)
2+'3'#报错
Python中变量存的是内存地址而不是值
区分大小写
查看Python关键字的方法:用模块keyword中提供的属性——kwlist
import keyword
print(keyword.kwlist)
'''
['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内置函数dir()来显示搜索路径,即已确定的所有变量清单
删除变量,del 变量名,del是语句不是函数,不要加()
print(dir()) #['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
a = 1 #定义变量
print(dir()) #['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'a']
del a #删除变量
print(dir()) #['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
命名规范:
- 模块名和包名采用小写字母并且以下划线分隔单词的形式,如:regex_syntax、py_compile、_winreg
- 类名或异常名采用每个单词首字母大写的方式(大驼峰),如:BaseServer、ForkingMixIn、KeyboardInterrupt
- 全局或者类常量,全部使用大写字母,并且以下划线分隔单词,如:MAX_LOAD
- 其余对象的命名,包括方法名、函数名、普通变量名,则采用全部小写字母,并且以下划线分隔单词的形式命名,如:my_thread
- 若以上对象为私有类型,则使用下划线开头命名。
一行一句
i = 20
j = 30
k = 40
一行多句,要用";"隔开
i = 20; j = 30; k = 40
Python中”;“表示一行多句,","表示元组
一行多句,一行不超过79个字符,否则采用“续行符”写成多行
print("a\
b")#ab
复合语句要用缩进,缩进开始之处加“:”
sum = 0
for i in range(1,2):#同样满足左闭右开
sum += i
print(i)#1
print(sum)#1
复合语句中空语句用pass
x = 1
y = 2
if(x>y):
pass
else:
print(y)#2
序列的拆包式赋值
a,b,c = 1,2,3
print(a,b,c)#1,2,3
两个变量值的调换
a,b = 1,2
print(a,b)#1,2
a,b = b,a
print(a,b)#2,1
Python中特有运算符
- /:除
- //:整除
- **:幂
- and:与
- or:或
- not:非
- is / is not
- in / not in
print(2 is not 5)#True
print(3 in [1,2,3])#True
优先级:
内置函数bin()可将十进制转化为二进制,hex()可将十进制转化为十六进制
print(bin(2),bin(3))#0b10 0b11
print(hex(16))#0x10