一、整型
1.数字大小与位的关系
.bit_length #查询数字的位数的方法
n = 56 #6位
print(n.bit_length())
0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 #查看数字所对应的,当前56小鱼64大于32,后面加16,加8
128 64 32 16 8 4 2 1
布尔值(bool)与数字之间的转换
n =bool (数字)
#数字和布尔值可以相互转换,在转换的时候,只有零是False,其余都是True
在布尔值转换成数字时True是1False是0
#数字和布尔值可以相互转换
int(True)
输出1
#字符串与布尔值转换时只要不为空就是True
2.字符串详解(18个)
字符串:字符串或串(String)是由数字、字母、下划线组成的一串字符.
eg: s = "akdsl_asa12121_d"
方法:
.title #标题 使首字母大写 只要有特殊字符隔开,才能分别认为是多个单词.(中文也是特殊字符),
name = "alex天涯wusir" #每个单词首字母大写,中间用特殊字符隔开(中文也算特殊字符) s = name.title() print(s) #Alex天涯Wusir
.capitalize 首字母大写 ,不管字符串中有几个单词, 只有第一个字母大写
.upper() 使单词中字母全部大写
.lower () 使单词中字母全部小写
i = "Alex" #验证码不区分大小写应用场景 yzm = input("请输入验证码:") if yan.lower() == yzm.lower(): print("验证成功") else: print("验证失败")
.count() 计数 #查字符串中指定的有几个
.find() 查找位置,查找不存在的就返回-1
.index() 索引 查找不存在的就报错
.center() 居中 第一个放数字,第二个放要填充的内容
name = "天涯" s = name.center(10,"-") #10是整个字符串长度,后边是添加的内容 print(s) #----天涯----
.split() #分割 括号里没有输入的时候默认的是空格 通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出. #可以将字符串转换成列表
n = "alexacerbreak" s = n.split("e") #可以把字符串转换成列表 print(s) #['al', 'xac', 'rbr', 'ak']
.strip() #脱 默认消去两头的空格和换行符.指定消去的内容时是掐头去尾
应用场景:在用户登陆时,可以消除密码账号上的空格导致的错误.
user= input("请输入用户名:").strip() #应用场景:登录账号时,用户名和密码多按空格 pwd = input("请输入密码:").strip() if user == "alex" and pwd == "alex666": print("登陆成功") else: print("登录失败")
.join() #指定字符拼接
n = "alexacerbreak" s = "_".join(n) print(s) #a_l_e_x_a_c_e_r_b_r_e_a_k
s = name .replace('x','n') #替换 第一个是指被替换的内容,第二个是指用什么替换
name. startswith() #询问电脑以什么开头,获取的结果是布尔值
name.endswith() #询问以什么结尾 获取的结果是布尔值
.format() #格式化 将括号内的内容填充进变量中的{} :
#可以 按照占位的位置来填充
#也可以按照索引来填充
#按照关键字对应填充
name = '{2}老师真{1}{0}' s = name.format('某某','他妈','漂亮') print(s) #漂亮老师真他妈某某 按照format括号内的索引添加
name = '{}老师真{}{}' s1 = name.format('某某','他妈','漂亮') print(s1) #某某老师真他妈漂亮 #按照format括号内的顺序添加
name = '{a}老师真{b}{c}' s2 = name1.format(a ='某某',b= '他妈',c='漂亮') print(s2) #某某老师真他妈漂亮
is系列方法:
.isalnum() #判断是不是数字和字母
.isalpha() #判断是不是纯字母
.isdigit() #判断是不是纯数字
.isupper() #判断是不是大写字母
.islower( #判断是不是小写字母
下标(索引): m e e t
0 1 2 3
-4 -3 -2 -1
切片; [起始位置 : 终止位置 : 步长] 顾头不顾尾
从左往右切: [0:4:1]
从右往左切 [-1:-4:-1] 后面的1和-1是指的方向,其中+指的是从左到右,-指的是从右往左.在其中的第二个冒号之后指的是步长.
#面试题:
将'我在上面这么动,你在下面没反应'的反过来输出
name = '我在上面这么动,你在下面没反应' print(name[::-1])
#起始终止位置不写即表示整体输出
#面试题:
怎么通过代码一行把字符串转换成列表,同时用一行代码把列表转换成字符串
通过方法.split() .join()来进行转换
# 字符串抓换成列表
a = "alexcellshell" b = a.split() print(b) #['alexcellshell'] c = a.split("e") print(c) #['al', 'xc', 'llsh', 'll']
lis = ["1","2","3"] a = ",".join(lis) print(a,type(a)) #1,2,3 <class 'str'>
for循环(遍历循环)
for (关键字) + i (变量) + in (关键字) + 可迭代对象 (除了数字都是可迭代对象)
for循环是有限循环,循环次数取决于迭代对象的元素数.
练习
# -*- coding: utf-8 -*- #数字与布尔值转换 ''' n = bool(1) print(n) n0 = bool(0) print(n0) n00 = bool(-1) print(n00) n1= int(True) print(n1) n2 = int(False) print(n2) ''' #查看数字位数 ''' n = 600 print(n.bit_length()) ''' #方法使用 ''' name = 'alex uwu sir' print(name.center(15,'*')) #居中,使该字符放在中间,前面的数字使加上填充的字符一共有的字符数 print(name.split('u')) #分割,通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出 s = '_'.join(name) #插入,将_插入变量name中每一个字符中间 print(name.replase('a','i')) #替换,前面的是被替换的内容,后面的是要替换的内容 print(name.startswith()) #询问,该变量以什么开头 print(name.endswith()) #询问该变量以什么结尾 print(name.count('w')) #计数 print(name.title()) #所有的单词的首字母大写 print(name.capitalize()) #首字母大写 print(name.lower()) #字母小写 print(name.upper()) #所有的字母大写 print(name.find('m')) #查找索引位置 不存在的就输出-1 print(name.index('l')) #索引,不存在的就报错 ''' #格式化 ''' name = '{2}老师真{1}{0}' s = name.format('某某','他妈','漂亮') #print(s) s1 = name.format('某某','他妈','漂亮') print(s1) name1 = '{a}老师真{b}{c}' s2 = name1.format(a ='某某',b= '他妈',c='漂亮') print(s2) ''' #用户登录时消除空格 ''' name = 'alex' print(name.strip()) user = input('请输入账号:').strip() pwd = input('请输入密码:').strip() if user == 'alex' and pwd == 'alex3714': print('输入正确') else: print('输入错误') ''' #验证码举例 ''' yzm = 'O98k' y_zm = input('输入验证码O98k:') if y_zm.upper() == yzm.upper(): print('正确!') else: print('错误') ''' #怎么通过代码一行把字符串转换成列表,同时用一行代码把列表转换成字符串: ''' name = 'alex wusirs' print(name.split('s')) lst = ['1','2','3'] s = '_'.join(name) print(s) ''' #判断是否是纯数字,输出数据类型 ''' num = input('请输入数字:') if num.isdigit(): num = int(num) print(type(num)) else: print('都告诉你是数字了') ''' #下标索引 ''' name = 'alex' print(name[3]) #切片 print(name[0:3] ''' ''' name = '我在上面这么动,你在下面没反应' print(name[0:8:-2]) ''' ''' s = 'Python最NB' print(s[:3]) print(s[2]) print(s[6:]) print(s[2:8]) print(s[1:]) print(s[:6:2]) print(s[1:7:2]) print(s[:]) print(s[3::2]) print(s[-5::-3]) ''' #for循环 name = '黑哥很黑黑哥很长黑哥很sao' for i in name: print(i) # s = len(name) #求取字符串的总长度 # print(s) ''' count = 0 while count < len(name): print(name[count]) count += 1 '''