每个数据类型都有自己独有的“魔法”,即,每个数据数据类型都是自己独有的算法函数。不同类型数据函数的用法具有相通性,可类比学习和记忆。
一、数字
1. 1、int(x):将字符串格式的数据转换成整形,函数格式:int(x,base=10)
x -- 需要进行转换字符串或数字。
base -- 进制数,默认十进制。
示例展示:
#!/user/bin/env python#-*-coding:utf-8-*-#python3,数字只有整形,int#数据格式转换。将字符串x转换成整形。
a = '123'b=int(a)print(a,type(a))print(b,type(b))
字符串转数字
运行结果:
123
123
1.2、x.bit_length():计算数字至少用几位二进制数来表示,函数格式:x.bit_length()
x -- 需要进行转换字符串或数字。
示例展示:
age = 100
#将整形转化二进制
r =bin(age)#函数的大意:计算整形的二进数的位数(至少用几位来表示)
v =age.bit_length()print(r)print(v)
整形用二进制表示,统计二进数的个数
运行结果:
0b1100100
7
1.3、bin(x):将整形转换成二进制数表示,函数格式:bin(x)
x -- int 或者 long int 数字
示例展示:
age = 100
#将整形转化二进制
r =bin(age)print(r)
整形用二进制表示
运行结果:
0b1100100
二、字符串
可迭代对象:通俗的理解是能够被for进行循环获取的对象。
1.重要且经常使用的函数(“6个基础魔法”+“4个灰魔法”)
***************基础常用魔法****************
1.1、s.join():用于将序列中的元素以指定的字符连接生成一个新的字符串,函数格式:s.join(sequence)
sequence--是要连接的字符串或者元素序列
(有两种编写方式)
#!/user/bin/env python#-*-coding:utf-8-*-
test2 = 'admin'v1= '*'.join(test2)
v2= str.join(test2,'111')print(v1)print(v2)
join的两种编写方式
运行结果:
a*d*m*i*n
1admin1admin1
1.2、s.lower():将字符串中所有的大写字母转化成小写格式,函数格式:lower(self)
(备注:lower() 方法只对ASCII编码,也就是‘A-Z’有效)
参数:无
1.3、s.upper():将字符串中所有的字母转化成大写格式,函数格式:lupper(self)
参数:无
1.4、s.split():将字符串以指定的分隔符进行切片处理,函数格式:s.split(self,sep,maxsplit)
sep -- 作为分隔符的元素,包括空格、换行(\n)、制表符(\t)等。
maxsplit -- 分割次数。默认为 -1, 即分隔所有。
1.5、s.find():检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,那在指定的范围内搜索该子字符串。如果有,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。函数格式:s.find(self, sub, start=None, end=None)【index的用法与其一样,只是sub搜索不到会报异常】
sub -- 指定检索的字符串
start -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
s.rfind():从字符串的右边开始检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,那在指定的范围内搜索该子字符串。如果有,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。函数格式:s.rfind(self, sub, start=None, end=None)【rindex的用法与其一样,只是sub搜索不到会报异常】
sub -- 指定检索的字符串
start -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
1.6、s.sip():【删首尾】去除字符串首尾的指定字符串chars,机理是从字符串s两侧向中心搜索子字符串chars,并去掉,当遇到第一次到不是chars就结束。函数格式:s.sip(self,chars)
chars -- 用于搜索并且去除的子字符串
s.lsip():【删左】去除字符串左边的指定字符串chars,机理是从字符串s左侧向右侧搜索子字符串chars,并去掉,当遇到第一次到不是chars就结束。函数格式:s.ltrip(self,chars)
chars -- 用于搜索并且去除的子字符串
s.rsip():【删右】去除字符串右边的指定字符串chars,机理是从字符串s右侧向左侧搜索子字符串chars,并去掉,当遇到第一次到不是chars就结束。函数格式:s.rtrip(self,chars)
chars -- 用于搜索并且去除的子字符串
***************灰魔法(其他数据类型也能用)****************
1.7、s[num]:【搜索】通过下标进行搜索,搜索字符串中的某一个字符,并且取出相对应的字符。函数格式:s[num]
num -- 下标
1.8、s[num1:num2]:【切片】范围为>=num1 ;
num1:num2 -- 为下标区间
1.9、len():计算字符串的字符长度。函数格式:len(s)
s -- 用于统计的字符串
2.0、for 变量名 in 字符串:将字符串一个字一个字逐行展示。
函数格式:
for 变量名 in 字符串
print(变量名)
变量名 -- 随意的变量,值为对应下标的字符
字符串 -- 用于逐行展示的字符串
2.1、range():帮助创建连续的数字,也通过设置步长,来创建不连续的数字。函数格式:range(self,start,stop,step)
start -- 开始创建的数字
stop -- 结束创建的数字
step -- 步长
test = range(0,100)
test1= range(0,100,5)for v intest:print(v)for v1 intest1:print(v1)
range函数使用
运行结果:逐行打印0到99。
*习题:将客户输入的内容的索引打印出来。【思路:计算输入字符串的长度(len函数),根据长度创建连续的数字(range函数),利用for循环函数以及字段搜索函数(s.[mum]),将他们打印出来。】
#!/user/bin/env python#-*-coding:utf-8-*-
test = input('请输入相应的内容:')
l= len(test) #计算字符的长度
r = range(l) #创建连续的索引
for item inr:print(item,test[item]) #通过下标搜索对应的字符
range函数使用
运行结果:
请输入相应的内容:admin
0 a1d2m3i4 n
2.字母大小写切换相关函数
2.1、s.capitalize():将字符串的首字母(第一个)变成大写,函数格式:capitalize(self)
参数:无
s.title():将字符串中所有的单词拼写首字母变成大写,且其他字母都变为小写。s.title(self)
参数:无
2.2、s.casefold():将字符串中所有的大写字母转化成小写格式。函数格式:casefold(self)
(备注:对于所有字母均有效)
参数:无
2.3、s.lower():将字符串中所有的大写字母转化成小写格式,函数格式:lower(self)
(备注:lower() 方法只对ASCII编码,也就是‘A-Z’有效)
参数:无
1.4、s.upper():将字符串中所有的字母转化成大写格式,函数格式:lupper(self)
参数:无
2.5、s.swapcase():将字符串中的字符进行大小交换,即大写变成小写,小写变成大写。函数格式:swapcase(self)
参数:无
2.6、s.islower():判断字符串中所有字符串是否全为小写,如果全是小写,返回值为True,反之为Flase。函数格式:s.islower(self)