基础数据类型
数字int
数字主要用于计算,有加减乘除等操作,下面介绍一种使用方法
#bit_length(),将十进制数转换成二进制数的二进制数位数 v = 9 data = v.bit_length() print(data)
布尔值bool
布尔值有True和False,对应条件的真和假
True 真 非0数
False 假 0
字符串str
字符串的索引与切片
字符串的索引即下标是从0开始的,从左往右第一个字符的下标为0。字符串也可以倒序索引,从右往左,第一个字符的索引为-1
a=‘0123456789‘ print(a[0]) #输出为字符串中的字符‘0‘ print(a[5]) #输出为字符串中的字符‘5‘ print(a[-1]) #输出为字符串中的字符‘9‘ print(a[-6]) #输出为字符串中的字符‘4‘
切片就是通过索引截取字符串的部分内容,格式为 变量(开头:结尾:步长),形成新的字符串。切片也可以倒序操作,倒序切片时步长需要加负号。切片是从开头取到结尾,但不包括结尾索引所对应的字符(顾首不顾尾)。
a=‘1234567890‘ print(a[2:]) #从索引为2的3取到最后,即34567890 print(a[1:4]) #从2取到4,即234 print(a[0:-1:]) #索引为-1的是字符‘0‘,步长不写默认为1 print(a[0:-1:2]) #步长为2,输出13579 print(a[-1:0:-1]) #反向索引,输出098765432
字符串常用方法
#capitalize :首字母大写,其他字母小写。 s=‘ab cdEFG hiGK LMN‘ print(s.capitalize()) 输出结果:Ab cdefg higk lmn #swapcase :大小写反转。 s=‘ab cdEFG hiGK LMN‘ print(s.swapcase()) 输出结果:AB CDefg HIgk lmn #title :每个单词的首字母大写。 s=‘ab cdEFG hiGK LMN‘ print(s.title()) 输出结果:Ab Cdefg Higk Lmn #upper :全部大写;lower:全部小写。(判断验证码时可用) s=‘ab cdEFG hiGK LMN‘ print(s.upper()) print(s.lower()) 输出结果:AB CDEFG HIGK LMN ab cdefg higk lmn #center :居中,填充物默认为空格。 s=‘ab cdEFG hiGK LMN‘ print(s.center(30,‘*‘)) #括号内为扩充长度和填充字符。 输出结果:******ab cdEFG hiGK LMN****** #expandtabs :和\t的效果类似。 #\t是默认补全8位字符,如果大于8位则补全位16位。如1234567890\t会输出1234567890 ,后面跟6个空格。 s=‘hqwasdasd\tasdas‘ print(s.expandtabs()) 输出结果:hqwasdasd asdas # find()通过元素找索引,可以整体找,可以切片,找到返回元素的第一个字符索引,找不到返回-1 # index()通过元素找索引,可以整体找,可以切片,找不到会报错 s=‘abc deFgh Igk‘ print(s.find(‘a‘)) print(s.find(‘ deF‘)) print(s.find(‘GK‘)) 输出结果:0 3 -1 #startswith:判断首字符;endswith:判断尾字符。返回True和False。可切片。 s=‘ab cdEFG hiGK LMN‘ print(s.startswith(‘a‘)) print(s.endswith(‘LMN‘)) print(s.startswith(‘c‘,3)) 输出结果:True True True #strip :去除字符串前后两端的空格,换行符,tab键等。(防止用户误输入空格时使用) s=‘ \tab cdEFG hiGK LMN\n‘ print(s) print(s.strip()) 输出结果: ab cdEFG hiGK LMN ab cdEFG hiGK LMN #split :将字符串转变成列表list,默认间隔符为空格,也可以定义其他字符 s=‘ab cdEFG hiGK LMN‘ t=‘aaarbbbrcccrddd‘ print(s.split()) print(t.split(‘r‘)) print(t.split(‘r‘,1)) #转换一次 输出结果:[‘ab‘, ‘cdEFG‘, ‘hiGK‘, ‘LMN‘] [‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘] [‘aaa‘, ‘bbbrcccrddd‘] #replace :将字符串中的字符替换成其他字符,可定义次数 s=‘我是小溪流,永远向前流‘ print(s.replace(‘流‘,‘淌‘)) print(s.replace(‘流‘,‘流淌‘,1)) 输出结果:我是小溪淌,永远向前淌 我是小溪流淌,永远向前流 #isalnum:判断字符串是否由字母或数字组成。 #isalpha:判断字符串是否只由字母组成。 #isdigit:判断字符串是否只由数字组成。 s=‘abCD123‘ print(s.isalnum()) print(s.isalpha()) print(s.isdigit()) 输出结果:True False False #format:格式化输出 #第一种 s = ‘我叫{},今年{},身高{}‘.format(‘金鑫‘,21,175) print(s) #第二种 a = ‘我叫{0},今年{1},身高{2},我依然叫{0}‘.format(‘金鑫‘,21,175) print(a) #第三种 b = ‘我叫{name},今年{age},身高{hight}‘.format(name = ‘金鑫‘,hight=175,age=21) print(b) 输出结果:我叫金鑫,今年21,身高175 我叫金鑫,今年21,身高175,我依然叫金鑫 我叫金鑫,今年21,身高175 # count 计算元素出现的次数 s = ‘abababccdda‘ print(s.count(‘a‘)) 输出结果:4 #len:得到字符串或list,tuple,数字等的长度 s = ‘123445‘ print(len(s)) 输出结果:6
数据类型的转化
int ----> str str(int)
str ----> int int(str) 只能是数字组成的字符串
int ----> bool 0 Fasle 非零 True
bool ----> True T ---> 1 F --->0
str ---> bool 非空 True 空就是False
bool ----> str str(True) str(False)
Ps:
1、while True:
pass
2、while 1: # 同为死循环,执行效率高比上面的高
pass