#单行注释,三个单引号或者三个双引号表示多行注释
python是弱类型语言,意味着变量无需声明即可直接赋值,变量的类型可以改变。
type() 查看变量类型
python关键字:通过keyword.kwlist可以查看:
使用str()或repr()将数值转换为字符串。
None 表示空值
Python允许为数值增加下划线分隔符,其不影响数值本身 a=1_000_000 表示a=1000000
input() 获取用户输入内容,返回类型为字符串
可使用三个引号定义长字符串,使用进行换行转义
使用r定义原始字符串,原始字符串不把反斜线当做特殊字符 r'D:aaa est.py'
bytes 字节串
字节串保存的是原始的字节数据,因此可以用于在网络上传输数据,也可以存储各种二进制格式的文件。
调用字符串的encode()方法或者调用bytes()函数可以构建字节串,调用bytes对象的decode()方法可将其解码为字符串。
user="Tom" age=8 print("%s is %d years old" % (user,age)) #格式化字符串
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
a='helloworld' print(a[1:3]) #el print(a[5:]) #world print(a[-3:-1]) #rl print('owo' in a) #True
dir(str) 列出字符串类str所有内容(函数,变量等)
help(str.split) 查看字符串split方法的说明
str.translate() 使用指定的翻译映射表对字符串进行替换
s='crazyit.org is a good site' table={97:945,98:946,116:964} print(s.translate(table)) #crαzyiτ.org is α good siτe
#使用str的maketrans()可以创建翻译映射表
/表示普通除法,python除法/永远返回浮点数;//表示整除,%表示取余。
**乘方运算符
is判断两个变量所引用的对象是否相同,is not判断两个变量引用的对象是否不相同,id()可返回变量的内存地址
布尔值True等价于1,False等价于0
逻辑运算符 and or not
in判断某个成员是否位于序列中,not in 判断某个成员是否不位于序列中。
列表list
创建列表使用[ ]或者list(),元素类型可以不同,程序可以使用元素的值,也可修改元素的值。append()往列表末尾追加元素,做参数为一个列表或元组则当为一个整体元素,使用extend()方法则不将被追加的当做一个整体。insert()在中间位置插入元素。del语句删除元素或变量。
元组tuple
创建元组使用( )或者tuple(),元素类型可以不同,元组元素相当于常量不能修改
序列封包:多个值赋给一个变量时,python自动将多个值封装成元组
val=10,20,30 print(type(val)) # tuple print(val) # (10, 20, 30)
序列解包:将序列(列表或元组等)直接赋给多个变量时,各元素依次赋值,要求数目相等
val=(10,'hello',2.3) a,b,c=val print(a,b,c) # 10 hello 2.3
val=list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] first,*middle,last=val #部分解包demo print(first) # 0 print(middle) # [1, 2, 3, 4, 5, 6, 7, 8] print(last) # 9
字典
创建字典使用{ }或者dict(),in判断字典是否包含指定的key,
scores={"chinese":89,"math":97,"english":87}
python代码块中的所有语句要求必须保持相同的缩进,对于不需要使用代码块的地方,也不允许随意缩进。
当False,None,0,"",(),[],{}作为布尔表达式时,都会被当做False处理
pass语句表示空语句,表示这条语句不做任何事情,只做占位使用
assert断言语句,如果断言为真,则程序继续向下执行,否则程序引发AssertionError异常
for-in循环用于遍历任何可迭代对象(该对象包含一个__iter__方法,且该方法的返回值对象具有next()方法)
isinstance() 函数判断变量是否为指定的类型
a=1 print(isinstance(a,int)) # True
for表达式:利用其它可迭代对象创建新的列表
a_range=range(1,10) a_list =[x*x for x in a_range] # [1, 4, 9, 16, 25, 36, 49, 64, 81] b_list =[x*x for x in a_range if x%2==0] # [4, 16, 36, 64] c_list =[(x,y) for x in range(3) for y in range(2)] # [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
zip() 可以将多个列表压缩成一个zip对象,其元素为原列表元素组成的元组
a=[1,3,5] b=('a','b','c','d') c=[x for x in zip(a,b)] # [(1, 'a'), (3, 'b'), (5, 'c')]
如果使用zip()压缩N个列表,则zip()返回的可迭代对象的元素就是长度为N的元组。
异常处理
python的异常处理主要依赖try,except,else,finally和raise五个关键字。python所有的异常类都从BaseException派生而来,
进行异常捕获时,应该将父类异常的except块放在之类异常except块的后面。一个except块可以捕获多种类型的异常,只要将多个异常类用圆括号括起来。
except (IndexError,ValueError,ArithmeticError):
print("发生数组越界、数字格式异常、算术异常之一")
except: #用于捕获所有类型异常,放在最后
print("未知异常")