Python基础语法文章导航:
目录
一.整型
1.定义
#整型就是十进制数的统称
number=12
age=26
2.公共功能
加减乘除
3.常见转换问题
#布尔值转整型
n1=int(True) #True转化为整数 1
n1=int(False) #False转化为整数 0
#字符串转整型
v1=int("186",base=10) # 把字符串看成十进制的值,然后再转换为 十进制整数,结果:v1 = 186
v2=int("0b1001",base=2) # 把字符串看成二进制的值,然后再转换为 十进制整数,结果:v1 = 9 (0b表示二进制)
v3=int("0o144",base=8) # 把字符串看成八进制的值,然后转换为 十进制整数,结果:v1 = 100 (0o表示八进制)
v4=int("0x59",base=16) # 把字符串看成十六进制的值,然后转换为 十进制整数,结果:v1 = 89 (0x表示十六进制)
# 浮点型(小数)
v1 = int(8.7) # 8
二. 布尔类型
1.定义
data = False
year = True
2.公共功能
v1 = True + True
print(v1) # 2
3. 转换
整数0、空字符串、空列表、空元组、空字典转换为布尔值时均为False
其他均为True
三. 字符串类型
1. 定义
v1 = "好好学习python"
v2 = '好好学习python'
v3 = "好好'学习python"
v4 = '好好"学习python'
v5 = """
好好学习python,
因为要为自动化学习打下基础。
"""
# 三个引号,可以支持多行/换行表示一个字符串,其他的都只能在一行中表示一个字符串。
2. 独有功能
(1)判断字符串是否以 XX 开头,得到一个布尔值。
startswith()
(2)判断字符串是否以 XX 结尾,得到一个布尔值。
endswith()
(3)判断字符串是否为十进制数,得到一个布尔值。
isdecimal()
(4)去除字符串两边的 空格、换行符、制表符,得到一个新字符串.
strip() -----将两边的空白去掉
lstrip() -----将左边的空白去掉
rstrip() -----将右边的空白去掉
扩展:
strip("xx") -----将两边的xx去掉
lstrip("xx") -----将最左边的xx去掉
rstrip("xx") -----将最右边的xx去掉
(5)字符串变大写,得到一个新字符串(全部字母变大写)
upper()
(6)字符串变小写,得到一个新字符串(全部字母变小写)
lower()
(7)字符串内容替换,得到一个新的字符串
value = data.replace("A","B")
----语句含义:把data字符串中的A换成B,生成一个新的字符串赋值给value
(8)字符串切割,得到一个列表
data = "武沛齐|root|wupeiqi@qq.com" result = data.split('|') # ["武沛齐","root","wupeiqi@qq.com"] #扩展1 v2 = data.split("|", 1) # ['武沛齐', 'root|wupeiqi@qq.com'] #扩展2 file_path = "xxx/xxxx/xx.xx/xxx.mp4" data_list = file_path.rsplit(".",1) # ["xxx/xxxx/xx.xx/xxx","mp4"]
(9)字符串拼接,得到一个新的字符串
data_list = ["小明","是","一名优秀的学生"] v1 = "_".join(data_list) # 小明_是_一名优秀的学生
(10)格式化字符串,得到新的字符串
name = "{0}的喜欢干很多行业,例如有:{1}、{2} 等" data = name.format("小明","建筑","理发") print(data) # 小明的喜欢干很多行业,例如有:建筑、理发 等 print(name) # "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
(11)字符串转换为字节类型
data = "嫂子" # unicode,字符串类型 v1 = data.encode("utf-8") # utf-8,字节类型 v2 = data.encode("gbk") # gbk,字节类型 print(v1) # b'\xe5\xab\x82 \xe5\xad\x90' print(v2) # b'\xc9\xa9 \xd7\xd3' s1 = v1.decode("utf-8") # 嫂子 s2 = v2.decode("gbk") # 嫂子 print(s1) print(s2)
(12)将字符串内容居中、居左、居右展示
v1 = "王老汉" # data = v1.center(21, "-") # print(data) #---------王老汉--------- # data = v1.ljust(21, "-") # print(data) # 王老汉------------------ # data = v1.rjust(21, "-") # print(data) # ------------------王老汉
(13)帮助你填充0
# 应用场景:处理二进制数据 data = "101" # "00000101" v1 = data.zfill(8) print(v1) # "00000101"
3.公共功能
(1) 相加:字符串+字符串
(2)相乘:字符串*整数
(3)长度:len(str)
(4)获取字符串中的字符,索引
message = "来做点商业交易呀" # 0 1 2345 6 7 # ... -3 -2 -1 print(message[0]) # "来" print(message[1]) # "做" print(message[2]) # "商" print(message[-1]) # 业 print(message[-2]) # 易 print(message[-3]) # 交 #注意:字符串中是能通过索引取值,无法修改值。 #【字符串在内部存储时不允许对内部元素修改,想修改只能重新创建。】
(5)获取字符串中的子序列,切片
message = "来做点商业交易呀" print(message[0:2]) # "来做" print(message[3:7]) # "商业交易" print( message[3:] ) # "商业交易呀" print( message[:5] ) # "来做点商业" print(message[4:-1]) # "业交易" print(message[4:-2]) # "业交" print( message[4:len(message)] ) # "业交易呀" #注意:字符串中的切片只能读取数据,无法修改数据。 #【字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建】
(6)步长,跳着去字符串的内容
name = "生活不是电影,生活比电影苦" print( name[ 0:5:2 ] ) # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】 print( name[ :8:2 ] ) # 输出:生不电, 【区间范围的前面不写则表示起始范围为0开始】、 # 此处老师讲解时,错把 name[ 2::3 ]看成了name[ 2::2 ],更正下。(感谢 B站 放酱啊噗啊噗 同学的反馈) print( name[ 2::3 ] ) # 输出:不电,活电苦 【区间范围的后面不写则表示结束范围为最后】 print( name[ ::2 ] ) # 输出:生不电,活电苦 【区间范围不写表示整个字符串】 print( name[ 8:1:-1 ] ) # 输出:活生,影电是不 【倒序】 print(name[-1:1:-1]) # 输出:苦影电比活生,影电是不 【倒序】 # 面试题:给你一个字符串,请将这个字符串翻转。 value = name[-1::-1] print(value) # 苦影电比活生,影电是不活生
(7)循环
while循环
message = "来做点商业交易呀" index = 0 while index < len(message): value = message[index] print(value) index += 1
for循环
message="来做些商业交易" for char in message: print(char)
range,帮助创建一系列的数字
range(10) # [0,1,2,3,4,5,6,7,8,9] range(1,10) # [1,2,3,4,5,6,7,8,9] range(1,10,2) # [1,3,5,7,9] range(10,1,-1) # [10,9,8,7,6,5,4,3,2]
for+range
message = "来做点商业交易呀" for i in range(len(message)): # [0,1,2,3,4,5,6,7] print(message[i])
一般应用场景:
while,一般在做无限制(未知)循环此处时使用。
# 用户输入一个值,如果不是整数则一直输入,直到是整数了才结束。 num = 0 while True: data = input("请输入内容:") if data.isdecimal(): num = int(data) break else: print("输入错误,请重新输入!")
for循环,一般应用在已知的循环数量的场景。
message = "来做点商业交易呀" for char in message: print(char)
break和continue关键字
message = "来做点sy交易呀" for char in message: if char == "s": continue print(char) # 输出: 来 做 点 s 交 易 呀
essage = "来做点py交易呀" for char in message: if char == "p": break print(char) # 输出: 来 做 点
4.转换
str=str(x)
一般情况下,只有整型转字符串才有意义。
5.其他
字符串不可被修改。