逻辑运算
两边都是比较运算 () not and or
两边都是数字 x or y if x is True, return x
混合运算 1 or 3 and 4 < 6 这有什么需求?
count = 0
sum = 0
while count < 100:
sum = sum + count * (-1) ** (count + 1)
ount += 1
print(sum)
[[ctrl]] + [[d]] 复制当前行
1.基础类型总览
int,str,bool
list :[] 可存储任何类型,大量的数据,各种数据类型,操作方便。
tuple:() 只读列表
dict:字典,{"":""} 字典
set:集合,{} 关系测试
i.bit_length() #十进制转成二进制的有效位数,0000 0001前边零不算
bin(i) #十进制转2进制
oct(i)#十进制转8进制
hex(i) #十进制转十六进制
int(字符串,进制)
数据类型之间的转化
int --> str str(int) int(str) int自动去除字符串数字周围的空格
空字符串""对应布尔值是false
bool ---> str(bool) bool(str)
int --->bool bool(int) int(bool)
索引,切片,步长
#对字符串,的下边操作:形成的都是一个新的字符串,与原来的字符串没有关系
"按索引取值"
s1 = "python1期骑士计划"
s2 = s1[0]
s3 = s1[2]
"""取出最后一个字符"""
s4 = s1[-1]
"按切片取值"
s5 = s1[0:5] #按切片取值顾首不顾尾
s51 = s[:6] # 从0开始起始坐标可省略
s6 = s[6:]# 取到最后
s62 = s[6:-1s7 = ] #取到倒数第二个,因为-1代表最后一个,切片顾首不顾尾
"按照切片+步长"
s7 = s1[::2]
s8 = s1[1::2]
s9 = s1[::-1] #倒着取值,需要反向步长(负号)
"超过索引返回空"
In [79]: n = 'alexsb'
In [80]: n[100:]
Out[80]: ''
字符串的常用方法
name = "bob"
#首字母大写,其余边字符变成小写
name.capitalize()
name.center(20,"*")
#大写,小写
name.upper()
name.lower()
"在验证码时候会经常用到,将生成的验证码和,输入的验证码都大写"
#判断以什么为开头,为结尾
name.startswith("0",3,5) 从下标3开始是不是以0为开头
name.endswith("l")
函数有start end为参数对象就是可以切片的
"大小写翻转"
name.swapcase()
"标题,单词首字母大写"
name.title()
"通过元素找到索引"
name.find("z") 取第一个元素的索引,找到第一个就返回,找不到返回 -1,可切片,返回的是整体的索引
name.index("z") 找不到报错 ValueError
"去除首尾字符,默认空白符"
"\t"用鼠标选择是一个整体的大白格
name.strip("sd") 多个字符,包含的都去除,没有顺序
"应用输入"
rstrip()
lstrip()
"切割" 从字符串转化成列表
s4 = " alex wusir taibai"
split() 默认空格 第一个空格不作为分割出的一个元素 三个,
split(" ") 会分割出4个
"限制分割次数"
s5.split("l",1)
"从右至左分割"
s5.rsplit("f")
"从列表转化成字符串"
"".join(l)
"自定制连接符,将可迭代对象中的元素连接起来"
"**".join(str) # 将str内的字符以*号连接
"替换字符串"
s3 = str2.replace("alex","SB")
"限制替换次数"
str2.replace("alex","SB",2)
"格式化输出:format"
第一种 位置输出
"{}{}{}".format()
第二种 重复使用
"{0}{1}{2}".format()
第三种 字典形式
"{name}{age}{sex}".format
"is系列"
name.isalnum()数字或字母组成
name.isdigit() 全部是由整数组成
name.isalpha() 全部由字母组成
"公共方法"
name.count("a") 统计字符在字符串中出现次数,可切片
isidentifier 只要是符合变量命名就成
islower 只要有英文字母并且小写就成
istitle 有英文字母并且只有开头是大写就成
如果对一个数据类型进行循环,或者是一个有限次数的时候,往往要用到for
for i in s1:
print(i)
# for 变量 in iterable(可迭代对象)
while 1
的效率要比 while True 要高一点
exit('1') 退出并且打印结果的值
查看 unicode 是多少位