进制 | 描述 | 函数 |
---|---|---|
十六进制 | 用0x前缀和0-9,a-f表示 | hex() -->10进制转16进制 |
八进制 | 用0o前缀和0-7表示 | oct() -->10进制转8进制 |
二进制 | 用0b前缀和0-1表示 | bin() -->10进制转2进制 |
项目 | 描述 |
---|---|
math.ceil(x) |
向上取整 |
math.floor(x) |
向下取整 |
math.pow(x,y) |
x**y(幂次) |
import math # 导入标准库math
print(math.ceil(4.1)) # 5:向上取整
print(math.floor(4.5)) # 4:向下取整
print(math.pow(2, 3)) # x**y 2**3
项目 | 描述 |
---|---|
abs(x) |
取绝对值 |
round(x) |
四舍六入五成偶 |
a = -10 # 初始化变量a
print(abs(a)) # 10 打印取绝对值后的值
# python3进行改良,不再是四舍五入,而是四舍六入五成偶
print(round(4.1)) # 舍去为4
print(round(4.5)) # 舍去为4
print(round(4.6)) # 进1为5
print(round(3.5)) # 4
注意:五成偶具体解释是:看这个5后面还有没有非0数字,如果没有,就是奇进偶不进,如果有非0数字,不管5前面是奇数还是偶数,都进1,如果这个5后面没有非0数字,这个5前面是奇数就进1,偶数就不进1
布尔类型就两个值,True和False 注意:首字母必须大写
bool()
函数来测试一个表达式的布尔值的结果print(bool(True)) # True
print(bool(False)) # False
# 数值:0 0.0的bool值为False,其余的全为True
print(bool(1)) # True
print(bool(-1)) # True
print(bool(0)) # False
print(bool(0.0)) # False
# 字符串:只有空字符串的bool值为False,其余均为True。注意:含有空格的字符串也是非空字符串
print(bool("yes")) # True
print(bool("")) # False
print(bool(" ")) # True
print(bool("0")) # True
# 列表
print(bool([])) # False
print(bool([1, 2, 3])) # True
# None
print(bool(None)) # False None的布尔值永远为False
布尔类型运算
"""
布尔算数运算
"""
print(True + 1) # 2
print(False + 1) # 1
使用单引号或双引号来创建字符串,使用三引号创建多行字符串
切片模式:a[start:stop:step]
注意:
"""
字符串拼接
"""
print('1'+'2') # 字符串用+做拼接 '12'
"""
字符串格式化
"""
name = "hansen"
age = 20
# %号格式需要考虑数据类型
# %s --> str
# %d --> decimal
# %f --> float
print("%s年龄为%d" % (name, age))
# str.format() 好处1:不用考虑数据类型 好处2:可以切换位置
# {
} --> 占坑
print("{1}年龄为{0}".format(age, name))
# f'' python3.6.4以上的版本
# {
} --> 占坑
print(f"{name}年龄为{age}")
语句: S.find(sub[, start[, end]])
# 初始化变量name
name = 'Michael Jackson'
print(type(name.find('c'))) # 返回值类型--> <class 'int'>
print(name.find('c')) # 返回字符串中第一个字符'c'索引位置--> 2
print(name.find('c', 10, 11)) # 在字符串索引7<= index < 11查找并返回'c'最小索引位置--> 10
print(name.rfind('c')) # 返回字符串中倒数第一个'c'位置--> 10
print(name.find('A')) # 查找值'A'明显不在该字符串之内,但程序不会报错,返回值---> -1
语句 S.index(sub[, start[, end]])
返回该元素最小的索引,与s.find()使用方法一样
区别:
语句: S.replace(old, new[, count])
替换
# 初始化变量name
name = 'Michael Jackson'
print(name.replace('c', 'C')) # 将字符串中c 全部替换为C --> 'MiChael JaCkson'
print(name.replace('c', 'C', 1)) # 将字符串中c 替换为C ,仅替换一次--> 'MiChael Jackson'
print(name) # 以上操作只是创建副本,不会对原字符串进行修改 -->'Michael Jackson'
语句 S.split(sep=None, maxsplit=-1)
# 初始化变量name
name = 'Michael Jackson'
print(name.split("c")) # 以’c'作为分割符,来分割字符串 -->['Mi', 'hael Ja', 'kson']
print(name.split("c", 1)) # 以’c'作为分割符,来分割字符串.仅进行1次切片 -->['Mi', 'hael Jackson']
print(name.split()) # 未指定分隔符,则视为空白字符串作为分隔符--> ['Michael', 'Jackson']
print(name.split('5')) # 指定分隔符不在字符串内,则输出整个字符串列表 --> ['Michael Jackson']
语句:S.startswith(prefix[, start[, end]])
# 初始化变量name
name = 'Michael Jackson'
print(name.startswith('M')) # 字符串以‘M’开头 -->True
print(name.startswith('J')) # 字符串不以‘J’开头 -->False
print(name.startswith('J', 8)) # 字符串在比较起始位置8处以‘J’开头 -->True
语句:S.endswith(suffix[, start[, end]])
# 初始化变量name
name = 'Michael Jackson'
print(name.endswith('son')) # 字符串以‘son’结尾 -->True
print(name.endswith('el')) # 字符串不以‘el’结尾 -->False
print(name.endswith('el', 0, 7)) # 字符串在索引位置0~7内(即字符串'Michael')以‘el’结尾 -->True
语句:S.lower()
# 初始化变量name
name = 'Michael Jackson'
print(name.lower()) # 将字符串全部转换为全小写字母'michael jackson'
print(name) # S.lower()不会改变原字符串,只是创建了副本并进行修改 -->'Michael Jackson'
语句:S.upper()
# 初始化变量name
name = 'Michael Jackson'
print(name.upper()) # 将字符串全部转换为大写字母'MICHAEL JACKSON'
print(name) # S.upper()不会改变原字符串,只是创建了副本并进行修改 -->'Michael Jackson'
语句:S.strip([chars])
# 初始化变量name
name = '-Michael Jackson- '
print(name.strip()) # 返回一个去除掉字符串首位空白字符的字符串副本-->'-Michael Jackson-'
print(name.strip('-')) # 返回一个去除掉首尾字符'-'的字符串副本-->'Michael Jackson- '
语句:S.isalpha()
# 初始化变量name,name1,name2
name = 'MichaelJackson'
name1 = 'Michael Jackson'
name2 = ''
print(name.isalpha()) # 字符串全为字母-->True
print(name1.isalpha()) # 字符串不全为字母,存在空白字符-->False
print(name2.isalpha()) # 空字符串-->False
语句:S.isdigit()
# 初始化变量name,name1,name2
name = '123456789'
name1 = '1234 5678 9'
name2 = ''
print(name.isdigit()) # 字符串全为字母-->True
print(name1.isdigit()) # 字符串不全为数字,存在空白字符-->False
print(name2.isdigit()) # 空字符串-->False
S.isalnum()
# 初始化变量name,name1,name2
name = 'ABC123'
name1 = 'ABC 123'
name2 = ''
print(name.isalnum()) # 字符串全为字母和数字-->True
print(name1.isalnum()) # 字符串不全为数字和字母,存在空白字符-->False
print(name2.isalnum()) # 空字符串-->False
S.join(iterable)
# 初始化name,name1
name = 'Michael Jackson'
name1 = list("abcdefg") # 列表
print(','.join(name)) # 输出打印以字符','连接迭代而成的新字符串-->'M,i,c,h,a,e,l, ,J,a,c,k,s,o,n'
print(','.join(name1)) # 输出打印以字符','连接迭代而成的新字符串-->'a,b,c,d,e,f,g'
# 初始化变量option
option = input("卸载程序请输入y/Y,退出程序请输入n/N:")
# 对option进行判断
if option in ['y', 'Y']: # 输入字符是"y" 或"Y"
print("进入卸载") # 输出打印“进入卸载”
elif option in ['n', 'N']: # 输入字符是"n" 或"N"
print("退出程序") # 输出打印“退出程序”
else: # 否则
print("不在选项范围之内") # 打印输出"不在选项范围之内"
# 初始化列表变量str_input
str_input = input("请输入:")
# 判断输入字符长度
if len(str_input) < 20: # 长度<20
print(f"该字符长度:{len(str_input)} \n字符逆序:{str_input[::-1]}") # 输出字符长度和字符逆序
else: # 否则
print("请重新输入") # 输出“请重新输入”