# python的简介:解释型语言. 弱类型语言# 首先介绍python中的数据类型# int整数类型# str字符串类型 字符串类型是永远不可变的# bool布尔类型# list类型# tuple元组类型不可变类似字符串特性# dict类型类似JS中的对象key必须是可哈希的# set类型保存大量数据不可重复的# int类型有一个api可以计算整数在内存中占用的二进制码的长度
num = 10 print(num.bit_length())
# 执行结果是4,也就是说表达是需要4位二进制运算符,1020
# 字符串类型中有两种格式化输出的方法
name = 'XiaT' age = 22 str = "名字:%s年龄:%s" %(name,age) print(str)
# 这里name age就分辨替换到占位符中了,%d是数字占位符不常用
print("%s占位符如何转义%%转义" %(name))
# 这里的转义不是\而是两个%%
# 在python3中格式化输出的方法
s7 = "我叫{name},我今年{age}岁,我喜欢的职业选手是{singer}".format(name = "周星" , age = "18" , singer = "UZI")
print(s7)
# 这种格式化输出的方式比较直观
# 字符串切片 s = "Hello Word" print(s[6:]) # 6 > 结尾 print(s[0:3]) # 0 - 2 含头不含尾 print(s[-4:-1]) # -4 - -2 print(s[-1:-4]) # 这里是正向切割取不到任何值因为是从左向右取值想要取到值怎么办 print(s[-1:-4:-1]) # 第三个参数为负表示反向取值 -1 > -3 含头不含尾 print(s[1:4:2]) # 这里第三个参数表示步长 1 and 3 结果 print(s[-6::-2]) # 这里如果是正向取值是owr # 那加了负号就是反向取值,表示从-6取到0结果就是olh这里可能有点绕因为第二个参数很多人以为表示结尾 # 因为反向取值如果第二个参数表示结尾那从-6向左取值就永远取不到 print(s[-6:10:-2]) # 就像这样反向取值是没有的 print(s[-6:1:-2]) # 这样可以取到了
# 逻辑运算符# and 类比js中的&& or类比js中的|| not类比js中的!# 介绍下他们的运算顺序# () > not > and > or
# 关于字符串大小写之间转换的API
s1 = "string"
print(s1.capitalize())
# 将字符串首字母变为大写
print(s1.upper())
# 将字符串全部转换为大写
print(s1.lower())
# 将所有字符串全部转换为小写
print(s1.casefold())
# 同样是转换为小写但支持一些特殊字符
s2 = "srting嗯string"
print(s2.title())
# 每个被特殊字符隔开的首字母大写
# 字符串操作切割操作API
s3 = "黄晓明"
print(s3.center(11,"*"))
# 将原字符串拉长到10并补齐*
s4 = " ST "
print(s4.strip())
# 去两边空格还有lstrip,和rstrip两种方法
s5 = "str_str_alex"
print(s5.replace("str","ab"))
print(s5.replace("str","ab",1))
# 字符串替换第三个参数可以指定替换个数
s6 = "AB_AB_str_str"
print(s6.split("_"))
print(s6.split("AB"))
# 字符串切割当切割付位于边角位会产生空字符
# 在python3中格式化输出的方法
s7 = "我叫{name},我今年{age}岁,我喜欢的职业选手是{singer}".format(name = "周星" , age = "18" , singer = "UZI")
print(s7)
# 这种格式化输出的方式比较直观
#条件判断
s14 ="123.16"
s15 ="abc"
s16 ="_abc!@"
#是否由字⺟和数字组成
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
#是否由字⺟组成
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
#是否由数字组成不包括⼩数点
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric())#这个⽐较⽜B.中⽂都识别.
print(s15.isdigit())
print(s16.isdigit())
# 最后就是python中字符串遍历有一个len的方法
s17 = "UZI的VN玩的很好!"
for i in s17 :
print(i)
# 这种for遍历是最简洁的但获取不到索引位置
count = 0
while count < len(s17):
print(s17[count])
print(count)
count = count + 1
# 这种方法既可以获取索引又可以实现遍历
# 还有两个方法find和startswith
s18 = "看看我的索引位置"
print(s18.find("位置",3))
# 这个只是查找索引位置的
print(s18.startswith("看"))
# 这个则是查看开头字符串是否存在当然也可以自己封装后续会讲到