Python学习Day05
DAY05
整型
-
python2与python3中的区别
整型在计算机中是用于计算和比较的。
在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型。
python3中不存在long类型。
python中数字占-2的31次方到2的31次方-1。
字符串
字符串的作用:存储数据,存储量比较小
a = "abcdefg"
-
索引
元素:是字符中的单个字母
# 从左到右排序 0,1,2,3 s = "meat" print(s[2]) # 从右到左 -4,-3,-2,-1 print(s[-2]) # 练习 s0 = "dapannodick" # 从左到右找p print(s0[2]) # 从右到左找c print(s0[-2]) -
切片
# 切片 # 要获取s0中的panno; print(s0[起始位置:终止位置+1]) print(s0[2:7]) print(s0[-9:-4]) # 中文字符串也同理,注意!!!标点符号也算一位 -
步长
# 步长默认是一,从左往右 # 步长为正从左往右,步长为负从右往左 print(s0[0:5]) # 第三位改变步长为2 print(s0[0:5:2]) print(s0[-5:0:-2]) s1 = "abcdefg" print(s1[-1:2:-3]) # 为gd # print(s1[0:100]) 切片可以超出索引范围 # print(s1[66]) 索引超出范围会报错 print(s1[::-1]) # 反转,并且:什么都不写说明从初始位置到终止位置全部获取 # 回文 让用户输入内容,判断是否是回文,如果是则提示yes,否则提示no # 上海自来水来自海上 s2 = input("please input a S:") if s2[::1] == s2[::-1]: print("yes") else: print("no") -
字符串的方法
-
修改
g1 = g.upper() # 全部大写 g2 = g1.lower() # 全部小写 print(g1 + g2) # 一般用于验证码校验 # 替换 g3 = g.replace("e", "a") # 最后一个逗号不写说明全部替换,写int说明替换几个 print(g3) # 应场景 such as LOL ban = ["tmd", "TMD", "儿子"] msg = input("input your report:") for i in ban: if i in msg: msg = msg.replace(i, len(i) * "*") print(msg) -
操作
gg = " zed_niceeeeeeeeeeeeeeeeee " # 统计元素出现次数 print(gg.count("e")) print(gg.strip("/n")) # 去除换行 print(gg.strip("/t")) # 去除制表符 print(gg.strip()) # 去除前后空格 gg1 = gg.strip() print(gg1.strip("e")) # 去除元素 # !!!记得先去前后空格 制表符 换行然后去除元素![]()
gg2 = "alex_hello_ya" print(gg2.split("_")) # # 模拟一个两位数的加法计算器 num = input("请输入数字:(格式为:数字1+数字2)") num1 = num.split("+") print(int(num1[0]) + int(num1[1])) -
判断
gg3 = "zed" print(gg3.startswith("z", 0, 3)) # 判断是否以z开头,返回的是布尔值,后面是切片范围 print(gg3.endswith("d")) # 判断是否以d结尾 # is系列 # 判断是否由中文,字母,数字组成 print(s.isalnum()) # 判断是否由字母,中文组成 print(s0.isalpha()) # 判断是否由数字组成 ss = "6666⑤" print(ss.isdigit()) # 判断是否是10进制数字 print(ss.isdecimal())
-
for循环
-
获取长度(除了不能求数字的长度,其他类型都能获取)
xh0="aaaaaaaaaaaaaaasssssssssssss" print(len(xh0)) print(len(str(xh1))) -
循环
i = 0 # while i < len(xh0): # print(xh0[i]) # i += 1 # for:变量名 i:变量名 in:关键字 xh0:可递代对象(除了int和bool) for i in xh0: print(i) print(i) # x # 面试题 j = 0 for j in "abcd": # 这里已经完成内存替换d pass # 什么都不干,只占个个位置 print(j) k = 0 for k in "qwq": print(8) # 只借用了循环次数
-
-
查找
your_name = "zedshuaiqi" print(your_name.find("s")) # 查找到返回对应索引值,多字符返回最前面那个字符的索引值 print(your_name.find("y")) # 查找不到的返回-1 print(your_name.index("i")) -
格式化
my_name = "{}:hello" my_name1 = my_name.format("zed") # 按照位置填充 my_name = "{0}666{2}777{1}888" my_name2 = my_name.format("666+", "888+", "777+") # 按照关键字填充 my_name = "{a}666{b}777{c}888" my_name3 = my_name.format(a="666+", c="888+", b="777+") print(my_name1) print(my_name2) print(my_name3) # 格式化:1.%s 2.f-string 3.format()


浙公网安备 33010602011771号