基础数据类型
数字int
数字主要用于计算,有加减乘除等操作,下面介绍一种使用方法
#bit_length(),将十进制数转换成二进制数的二进制数位数v = 9data = 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'
切片就是通过索引截取字符串的部分内容,格式为 变量(开头:结尾:步长),形成新的字符串。切片也可以倒序操作,倒序切片时步长需要加负号。切片是从开头取到结尾,但不包括结尾索引所对应的字符(顾首不顾尾)。 PS:索引取出的数据类型不变,切片取出的必定是列表。切片改字符串,列表等时是先删除,再迭代插入。
a='1234567890'print(a[2:]) #从索引为2的3取到最后,即34567890print(a[1:4]) #从2取到4,即234print(a[0:-1:]) #索引为-1的是字符'0',步长不写默认为1print(a[0:-1:2]) #步长为2,输出13579print(a[-1:0:-1])#反向索引,输出098765432
切片
字符串常用方法
Ps:lstrip和rstrip去除左边和右边的空格或者字符,strip也可以去除特定字符。
#join 在连续的字符串中插入符号s='abcdefg's1='*'.join(s)print(s1)输出结果:a*b*c*d*e*f*g
#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 LMNab 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'))输出结果:03-1#startswith:判断首字符;endswith:判断尾字符。返回True和False。可切片。s='ab cdEFG hiGK LMN'print(s.startswith('a'))print(s.endswith('LMN'))print(s.startswith('c',3))输出结果:TrueTrueTrue#strip :去除字符串前后两端的空格,换行符,tab键等。(防止用户误输入空格时使用)s=' \tab cdEFG hiGK LMN\n'print(s)print(s.strip())输出结果: ab cdEFG hiGK LMNab 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())输出结果:TrueFalseFalse#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
for循环
#逐个打印出s里面每一个字符s='asdasdasdf'for i in s:print(i)