11.21
基本知识
精准处理任意大小的整数,浮点数有误差
二进制前缀0b十六进制前缀0x
科学计数法中10用e表示
以'',""括起来的任意文本是字符串
布尔值只有True和False,可用and,or,not运算
空值None和0不一样
变量名=数据即可定义一个变量,一个变量可先后存储不同类型的数据,故Python称为动态语言
运算
加+、减-、乘*、除/(Python3中10/3=3.33…)、取模%
地板除//(结果忽略纯小数部分)例:10//3=3
保留小数使用round() 函数,调用方式
a=10/3 #3.333…
round(a,2) #3.33
布尔类型的运算(与、或、非)
计算机会把0、空字符串和None看成False,其他数值和非空字符串都看成True
not的优先级最大
短路计算:只要能确定其计算结果 就不会再往后计算,直接返回结果
字符串
字符串中含'使用"将字符串括起来
字符串中含"使用'将字符串括起来
如果既含"又含'使用\转义
如果字符串中含多个需转义的字符,可在字符串前加前缀r,表示raw字符串,不需要转义,但不能表示包含"和'的字符串
表示多行字符串时使用’’’....’’’
字符串format
a='奥利给{}'#字符串模板
b=a.format('干了')#字符串嵌入模板中
print(b)#奥利给,干了
可在模板中加入数字 ,指定模板数据内容的顺序
a='{2}{1}{0},干了'
b=a.format('给','力','奥')
print(b)#奥力给,干了
可以指定对应的名字
a='{A}{L}{G}'
b=a.format(A='奥',L='利',G='给')# 指定名字内容
print(b)#奥利给
字符串切片
使用位置的方式取出字符串中特定位置的字符
a='奥利给,干了'
s=a[4]
print(s)#干
切片获取字符串的一部分(子串)
a='奥利给,干了'
alg=a[0:3]#包括前者,不包括后者
b=[:]#将a复制给b
print(alg)#奥利给
结构语句
if-else语句
if 1<2:#条件结果为True
print ('1')#注意缩进
else:#和if对齐
print ('0')#结果为1
可用if-elif-else简化多种条件的if-else嵌套语句
for语句
只要可遍历就可使用
遍历字符串:
a='奥利给'
for b in a:
print(b) #注意缩进,结果为奥\n利\n给
b是在for循环中定义的,意思是把字符串a中的每一个元素依次赋值给b,然后再把b打印出来,直到打印出最后一个字符为止
while语句
b=0
while b<3:
b=b+1
print(end='6')#666
break语句
跳出循环
continue语句
结束本次循环
容器
List(列表)
放入list中的元素,将会按照一定顺序排列,使用中括号[]把需要放在容器里面的元素括起来,就定义了一个列表,list不对放入其中的类型进行判断,list可以同时放入任意类型的数据,可用for遍历,可索引(index),可切片
a=[True,'奥利给',666]
print(a)#[True,'奥利给', 666]
for b in a:
print(b)#True\n奥利给\n666
print(a[1])#奥利给,不可越界,否则不可运行
print(a[1:6])#['奥利给', 666],可越界,越界部分无获取
print(a[-2]) #奥利给,倒序访问,不可越界,否则不可运行
添加元素
a.append('干了')#添加在末位
a.insert(2,'干了')#插入在列表第三位
删除元素
a.pop()#删除最后一个元素
a.pop(0)#接受参数,删除第一个元素
替换元素
二维list例:
alice_scores = [100,89,92]
bob_scores = [70,65,81]
candy_scores = [88,72,77]
all_scores = [alice_scores, bob_scores, candy_scores]
score = all_scores[1][2] # ==> 81