bool转换
# str => int # print(int("1")+int("1")) # int(str) # str(int) # 目标类型(不管什么内容) # 数字转换成bool # 如果数字是0 结果是false # 如果数字是非0 结果是True # # a = 0 # print(bool(a)) # True 和1的效率问题: 1的效率高. ''' while 1: # True print("哈哈") ''' # bool转int # int(bool) True=>int => 1 # False => int => 0 # print(int(False)) # 1 # 字符串转换成bool bool(str) # 空字符串是False. 非空字符串是True # a = "abcd" # print(bool(a)) # True # a = "" # print(bool(a)) # False # b = "" # 空字符串 # a = None # 真空 False # print(bool(b)) # False # print(bool(a)) # False # 特点: 空:False .非空:True # 向系统中录入员工信息, 不停的录入 , 输入回车退出 # while True: # name = input("输入用户信息:") # if not name: # break # else: # print("新员工信息:"+name)
字符串方法
# 0 1 2 3 45 6 7 8 # s = "今天很萌.明天也萌" # 字符串中的第几个字符 # 索引语法 字符串[索引] 索引从0开始 # print(s[3]) # print(s[5]) # print(s[0]) # print(s[-1]) # 倒数第一个 # print(s[-5]) # . 倒数第5个\ # 正向 从 0 开始 # 反向 从-1 开始 # 切片 # 0 1 2 3 4 56 7 8 9 101112 13 14 # s = "我想吃切糕.切糕没有芝麻好吃!" # print(s[2:5]) # 切片. 顾头不顾腚. 前面的能取到. 后面的取不到 # print(s[4:1]) # 给两个参数. 默认向右切 # print(s[5:8]) # .切糕 #print(s[:7]) # 从头开始切 # print(s[10:]) # 切到最后 # print(s[:]) # 全都切出来 # print(s[5:99]) # 如果右边的值. 超过了字符串长度. 切到最后 # print(s[-5:]) # 啥也不写. 到最后 # 可以跳着切 步长 s = "abcdef,ghijklmn" # print(s[0:7:2]) # aceg 每2个切一个 # print(s[1:5:3]) # be # print(s[-8:-2: 2]) # 倒数的也可以跳着切 # print(s[-1:-6:-1])# 反着取. # 切片: 顾头不顾尾 # print(s[8:1:-1])# -1 : - 反着切. 1 步长 # print(s[8:1:-2]) #igec 反着取. 每两个取一个 #s = "alex and wusir gaoji" # s1 = s.capitalize() # 首字母大写 , # print(s) # 原字符串没有变化 # print(s1) # s2 = s.title() # 标题, 每个单词首字母大写 , 特殊字符, 中文在这里算特殊字符 # print(s2) # name = "taiBai" # s1 = name.upper() # 转换成大写字母 # print(s1) # s2 = name.lower() # print(s2) # verify_code = "FaD3" # verify_code_user = input("请输入验证码:") # if verify_code.upper() == verify_code_user.upper(): # print("验证码成功") # else: # print("验证失败") # s = "alexAndEggonAndRiTian" # s1 = s.swapcase() # 大小写转换 # print(s1) # s2 = "БBß" # 俄美德 # print(s2) # print(s2.lower()) # print(s2.casefold()) # s = "alex" # s1 = s.center(15, "*") # 拉长成10个字符. 由*进行填充 # print(s1) # s = "al\twusir" # s1 = s.expandtabs() # print(s) # print(s1) # s = " 麻花 藤. 张x忠, 刘华强 " # s1 = s.strip() # 去掉左右两边的空格, 必须要记住 # print(s1) # # s2 = s.lstrip() # 去掉左边的空格 # s3 = s.rstrip() # 去掉右边的空格 # print(s2) # print(s3) # username = input("用户名:").strip() # password = input("密码:").strip() # if username == 'alex' and password == '123': # print("登录成功") # else: # print("失败") # s = "麻花藤哈哈哈哈麻花藤" # print(s.strip("麻花")) # print(s) # s = "alex,wusir,taibai,eggon" # s1 = s.replace(",", "喜欢") # 替换 # print(s1) # # s = "我想吃切糕.切糕没有芝麻好吃!" # s1 = s.replace(".", "") # print(s1) # 切割 # s = "李嘉诚_王健林_马云_刘东强_alex" # lst = s.split("_") # 字符串切割. 切割的结果是列表 # print(lst[0]) # print(lst[1]) # print(lst[2]) # print(lst[3]) # print(lst[4]) # 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) # # 在开头和结尾如果出现了你的刀. 一定会出现空字符串 # 格式化输出 # %s 字符串 # %d 数字站位 # print("%s很帅, 你信吗?" % "我") # print("{}很帅, {}信吗?, 不信给你{}钱".format("旭哥", "我们", 100)) # print("{1}很帅, {0}信吗?, 不信给你{2}钱".format("旭哥", "我们", 100)) # print("{person1}很帅, {person2}信吗?, 不信给你{money}钱".format(person1="旭哥", person2="我们", money=100)) # count 数数 # s = "alex wusir taibai 女神" # print(s.count("ai")) # 计算ai在原字符串中出现的次数 如果没出现返回0 # # find 查找 # s = "明天周末了.你们打算干什么去?" # print(s.find("了")) # 如果你要查找的内容不存在. 返回-1, 如果存在返回索引 # index 求索引 # s = "下周我们要考试了. 你们慌不慌" # print(s.index("你大爷")) # 如果找不到报错 # 条件判断 # s = "写个啥呢? 哈哈哈" # # # 判断字符串是否以xxx开头 # print(s.startswith("写个啥呢")) # # 判断字符串是否以xxx结尾 # print(s.endswith("哈哈哈")) # 是否是字母和数字组成 # s = "abcdefg" # print(s.isalnum()) # 数字和字母 # print(s.isdigit()) # 数字 # print(s.isalpha()) # 字母 # s = "壹贰" # print(s.isnumeric()) # 几乎所有数字 # print(s.isdigit()) # 阿拉伯数字 # 判断字符串是否是小数 # 依据:1. 有小数点. 一个小数点 # 求字符串的长度 # s = "abcde" # ret = len(s) # 内置函数 # print(ret) # print("你好") # s = "吃喝拉撒睡不管有多长" # for w in s: # print(w) # index = 0 # while index < len(s): # print(s[index]) # index = index + 1 # 练习, 计算在字符串"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) # 字符串不可变. 每次操作都会返回给你新的字符串
总结方法
s代表变量名 #字符串常用方法 1)s.strip() 把头和尾的空格去掉 #可以在括号里加入去掉的内容比如("abc"),这样就可以去掉两边的adc 2)s.lstrip() 把左边的空格去掉 #可以在括号里加入去掉的内容比如("abc"),这样就可以去掉左边的adc 3)s.rstrip() 把右边的空格去掉 #可以在括号里加入去掉的内容比如("abc"),这样就可以去掉右边的adc 4)s.capitalize() 首字母大写,其他字母小写 5)s.title() 每个单词首字母大写,特殊字符区分,中文算特殊字符 6)s.upper() 转换成大写字母 7)s.lower() 转换成小写字母 8)s.swapcase() 大小写转换 9)s.center(8,("*")) 居中并且拉长字符串,两边用*填充 10)s.replace("!","#",1) 替换!为# , 替换一次 #字符串切割方法 11)s.split("_") 切割,以_为条件劈开字符串,成为多个单独的字符串 #在开头和结尾如果出现了你的刀. 一定会出现空字符串 12)s.split("_",2) 以_为条件劈开的次数 #字符串格式化输出方法 13)print({}).format("123") 格式化输出123,三种输出顺序为:按默认顺序\按{}中索引顺序\按{}中key的顺序 14)s.count("a") 计算a在字符串中出现的次数,如果没出现返回0 15)s.find("a") 计算查找的a在字符串中的索引,如果不存在返回-1,找到第一个就停止往后找了 16)s.index("a") 同find,区别在于index找不到会报错,而find会返回-1 #字符串条件判断方法 17)s.startswith("a") 判断字符串是否以"a"开头 18)s.endswith("a") 判断字符串是否以"a"结尾 19)s.isalpha() 判断字符串是否由字母组成 20)s.isdigit() 判断字符串是否由数字组成 21)s.alnum() 判断字符串是否由数字和字母共同组成 22)s.isnumeric() 同isdigit相同,只是isdigit只能判断阿拉伯数字,这个可以判断几乎所有数字 #得到字符串长度 23)len(s) 内置方法不需要变量名.的格式 ===================================================================================== #不常用方法 s.casefold() 转换成小写字母,区分lower,这个可以转换多种语言 #不常用 s.expandtabs() 将字符串中转义字符 /t 扩充为8位 #不常用,一般会计会用到 # 练习, 计算在字符串"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) 思考题: 怎么判断字符串是不是小数