基本数据类型 (int , bool, str)
Posted chyxlj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型 (int , bool, str)相关的知识,希望对你有一定的参考价值。
1.基本数据类型
1 int 整数
2 str 字符串 ‘, ‘‘, ‘‘‘, """, 字符串一般不存储大量数据 ,不容易操作
3 bool 布尔值, Ture,False
4 list [] 列表([]里放列表的值)
list["sylar",‘太白‘,1,Ture,(),{}]
5 tuple () 元组 只能读取 不能修改
6 dict {} 字典 查找比较快 key:value,一次存两个数据 一对一对存
7 set {} 集合 一次存一个 不能重复 ,只存Key 比较少见
2 int
a=5 #0000 0101 print(‘a.bit_length() ‘) #输出:3
3 Bool
str =>int int(str)
int =>str str(int)
数字准换成bool值 如果数字是0转换成False,如果数字不是0转换成True
a=0 print(bool(a)) #输出 False
在while循环中 True 和 1 的效率问题 :1的效率高 (计算机无需转换成ASCII码直接执行)
while1: #1 ==True print("hello")
bool 转换成int
a=0 print(int(True)) #输出 1 print(int(False)) #输出 0
str转换成bool ( 非零转换成True 零准换成False )
a="abc" print(bool(a)) #输出 True a="123" print(bool(a)) #输出 True a="" #"" 这个是空字符 print(bool(a)) #输出 False a=" " #" " 这个是空格 print(bool(a)) #输出 True a=None # 这个是真的空 print(bool(a)) #输出 False a="None" #这个是字符串 "None" print(bool(a)) #输出 True
向系统中录入员工信息,不停地录入,输出回车退出
while 1: # while 1 和while True 一个意思 name=input("请输入用户信息:") if name != "": print("新员工信息:{}".format(name)) else: break 改写: while 1: name=input("请输入用户信息") if not name: # 判断 如果不正确 break else: print("新员工信息:"+name)
4 str
1.索引 索引就是下标 下标 从 0 开始
print([""])
# 0 1 2 3 456 7 8 9101112 # 正向 # 0 ...-2-1 s="小老板很帅,他比别人都帅." # 字符串中的第几个字符 正向从0开始 反向从-1开始 print([3]) #输出:很 print([5]) #输出:, print([-1]) #输出:. print([-9]) #输出:帅
2.切片 print(s[""]) 切片 顾头不顾尾 默认从左往右切
不能改变原来字符串 只能产生新的字符串
s="1234567890" print(s[2:5]) #输出:345 print(s[3:10]) #输出:4567890 # 如果右边的值超过字符的长度,切到最后 print(s[2:]) # 切到最后 #输出:34567890 print(s[-5:]) #切到最后 #输出:67890 print(s[:]) #全部切出来 #输出:1234567890 # 可以跳着切 步长 step print(s[1:9:2]) #输出:2468 print(s[3:8:-1]) #反着切 #输出不了 反着 从8无法切到3 print(s[-1:-6:-2]) #输出:086
首字母大写; 每个单词首字母大写
s="xu yang zhen de chou!" s1=s.capitalize() # 首字母大写 print(s1) s2=s.title() # 标题 ,单词首字母大写 除英文字母之外的其它字符全都算分割符 #将字符串分割成两个甚至多个,分开之后的所有首字母都大写 print(s2) n="xu y>[email protected] zhe=n de cho,u!" n1=s.title() print(n1) #输出: Xu Y>[email protected] Zhe=N De Cho,U!
全部转换成大写 (.upper() ) 字母;全部转换成小写 (.lower() ) 字母;大小写转换(.swapcase())
name = "taiBai" s1 = name.upper() # 转换成大写字母 print(s1) s2 = name.lower() #转换成小写字母 print(s2)
# 用户登录
while 1: verify_code ="Alex" verify_code_uesr=input("请输入验证码:") if verify_code_uesr==verify_code: print("验证成功") break else: print(‘验证失败‘) 如果出现用户大小写输入有误 验证不成功,那么改成大小写输入都能够验证成功 while 1: verify_code ="alex" verify_code_uesr=input("请输入验证码:") if verify_code_uesr.upper()==verify_code.upper(): print("验证成功") break else: print(‘验证失败‘) s = "alexAndEggonAndRiTian" s1 = s.swapcase() # 大小写转换 print(s1) s2 = "БB?" # 俄美德 print(s2) print(s2.lower()) print(s2.casefold())
居中 (.center) ; 一个TAB ;
s = "alex" s1 = s.center(15, "*") # 拉长成10个字符. 由*进行填充 print(s1) # 输出 ******alex***** s = "al wusir" #/t TAB s1 = s.expandtabs() print(s) print(s1) # 输出 al wusir al wusir
去除两边空格(.strip) (.lstrip)去除左边空格 (.rstrip)去除右边空格
s=" alxe, xueyang, sylar, boss,熊大 " s1=s.strip() print(s1) s2=s.lstrip() print(s2) s3=s.rstrip() print(s3)
字符串切割(.split) 切割的结果是列表
如果原字符跟用来切割的字符一样得到两个空字符
在开头结尾如果出现用于切割的字符一定会得到空字符
s = "李嘉诚_王健林_马云_刘东强_alex" lst = s.split("_") # 字符串切割. 切割的结果是列表 print(lst[0]) print(lst[1]) print(lst[2]) print(lst[3]) print(lst[4]) 输入: 李嘉诚 王健林 马云 刘东强 alex s = "李嘉诚王健林麻花藤周杰伦" lst = s.split("李嘉诚王健林麻花藤周杰伦") # 如果原字符串和刀一样.得到的是两个空字符串 lst = s.split("马云") # 如果不存在.得到的是原字符串 lst = s.split("") # empty separator 报错 print(lst) s.split() s = "a_b_c_d_e_f_g" lst = s.split("_", 2) # 第二个参数. 切的次数 print(lst) s = "周杰伦_周润发_周星驰_周星星" lst = s.split("周杰伦") print(lst) lst = s.split("周星星") print(lst) # 在开头和结尾如果出现了你的刀. 一定会出现空字符串
字符串替换
# 字符串替换 s8 = "sylar_alex_taibai_wusir_eggon" ret = s8.replace(‘alex‘, ‘金角大王‘) # 把alex替换成金角大王 print(s8) # sylar_alex_taibai_wusir_eggon 切记, 字符串是不可变对象. 所有操作都是产生新字符串返回 print(ret) # sylar_金角大王_taibai_wusir_eggon
格式化输出 (.format())
# %s 字符串 # %d 数字站位 print("%s很帅, 你信吗?" % "我") print("{}很帅, {}信吗?, 不信给你{}钱".format("旭哥", "我们", 100)) print("{1}很帅, {0}信吗?, 不信给你{2}钱".format("旭哥", "我们", 100)) print("{person1}很帅, {person2}信吗?, 不信给你{money}钱".format(person1="旭哥", person2="我们", money=100))
数数 (count) :计算字符在字符串中出现的次数,如果没有出现返回0
查找(find) :如果你要查找的内容不存在,返回 -1,如果存在返回索引
求索引(index):如果找不到报错
#count 数数 s = "alex wusir taibai 女神" print(s.count("ai")) # 计算ai在原字符串中出现的次数 如果没出现返回0 # find 查找 s = "明天周末了.你们打算干什么去?" print(s.find("了")) # 如果你要查找的内容不存在. 返回-1, 如果存在返回索引 #index 求索引 s = "下周我们要考试了. 你们慌不慌" print(s.index("你大爷")) # 如果找不到报错
条件判断 判断字符是不是以XXX开头(,startswith("") 或者以XXX结尾(.endswith(""))
s = "写个啥呢? 哈哈哈" # 判断字符串是否以xxx开头 print(s.startswith("写个啥呢")) # 判断字符串是否以xxx结尾 print(s.endswith("哈哈哈"))
判断是否是字母和数字组成
s = "abcdefg" print(s.isalnum()) # 数字和字母 print(s.isdigit()) # 数字 print(s.isalpha()) # 字母 # 输出 True False True
求字符串长度 len("")
s = "abcde" ret = len(s) # 内置函数 print(ret) print("你好") #练习, 计算在字符串"I am sylar, I‘m 14 years old, I have 2 dogs!" 出现过多少个数字. 个位为单位 s="I am sylar, I‘m 14 years old, I have 2 dogs!" count=0 for w in s : if w.isdigit(): count=count+1 print(count)