一.常用的数学函数
函数 | 功能描述 |
max(x,y,z...) | 返回x,y,z...中的最大值 |
min(x,y,z..) | 返回x,y,z...中的最小值 |
abs(x) | 返回x的绝对值 |
round(x) | 返回x四舍五入成偶的值 |
# max求最大值
print(max(12, 34, 45, 23))
# min求最小值
print(min(12, 34, 45, 23))
# 绝对值
print(abs(-2)) # 2
print(abs(2))
# 保留几位小数,采用round函数
print(round(4.123, 2))
print(round(4.234, 1))
# 四舍六入,没有设置保留几位小数,默认是取整
print(round(4.4)) # 4
print(round(4.6)) # 5
# 五成偶——偶数
# 做大量数据计算时,一定用decimal
print(round(4.5)) # 4
print(round(5.5)) # 6
print(round(6.5)) # 6
print(round(7.5)) # 8
from decimal import Decimal
print(Decimal('4.4')+Decimal('5.4'))
# 返回的都是偶数
print(round(4.235, 2)) # 4.24
print(round(Decimal('3.235'), 2)) # 3.24
print(round(Decimal('2.235'), 2)) # 2.24
二.字符串的简介
# 字符串定义的是输出,输出的内容就是什么
# 需要配对"" '' 引号一定是英文的
name = "hello niuniu 1+2"
print(name)
name = 'hello niuniu'
print(name)
三.字符串的取值
#语法:字符串[某字符的下标]
注:
1.字符串取值是通过下标去 下标从0开始
2.字符串是不可变的数据类型,不能直接去修改里面的每一个值
a = "hello world"
# 想单独把e字符取出来
# 字符串取值是通过下标去 下标从0开始 e对应的下标值1
print(a[1]) # 取a字符串中下标为1的字符
# o取值 空格算一个字符码?——算
print(a[4], a[7]) # o o
# d
print(a[10], a[-1]) # d d
print(a[11])
# IndexError: string index out of range
# 下标超出了取值的范围
四.字符串切片
切片语法:字符串[下标:结束下标]
#注:
1.步长默认为1
2.步长不能为浮点数
s = "hello world "
# worl
print(s[6:10]) # [6, 10)
# world
print(s[6:11]) # [6,11)
# world
print(s[6:]) # 结束下标不写,默认取完最后一个
# hello world
# 默认起始下标从0开始,结束下标默认取完最后一个
print(s[:]) # 结束下标不写,默认取完最后一个
# world
print(s[6:14]) # 切片当中的特点, 越界是不会报错的
# el ol
print(s[1::2]) # 隔一个取一个值
五.字符串格式化
name = '牛牛'
age = 18
# 变量可以写在引号里面吗?——固定的字符串了。不能写在引号里面
print("name员工年龄:age")
# 多个值之间用英文逗号隔开。因为sep=" "
print(name, "员工年龄:", age, sep='')
# 方式一
print("%s员工年龄:%d" %(name, age))
name = '小刘'
age = 18
weight = 160
height = 180.8
# 小刘的年龄是18,身高是180.8,体重是160
print('%s的年龄是%d,身高是%f,体重是%d'%(name, age, weight, height))
# 方式二
print('{}的年龄是{},身高是{},体重是{}'.format(name, age, height, weight))
# 方式三
print(f'{name}的年龄是{age},身高是{height},体重是{weight}')
方法 | 功能描述 |
S.find(元素) | 查找元素所在的最小索引,未找到则返回-1 |
S.index(元素) | 查找元素所在的最小索引,未找到则报错 |
S.replace(旧,新) | 以新值替换旧值 |
S.split() | 使用空格字符串分隔为多个词,并返回列表 |
S.startswith(前缀) | 判断字符串是否以前缀结束,返回为bool值 |
S.endswith(尾缀) | 判断字符串是否以尾缀结束,返回为bool值 |
S.lower() | 将字符串全部转为小写 |
S.upper() | 将字符串全部转为大写 |
S.strip | 默认去掉字符串左右的空格 |
S.isalpha() | 判断字符串是否全为字母,返回的是bool值 |
S.isdigit() | 判断字符串是否全为数字,返回的是bool值 |
S.join(可迭代对象) | 将序列中的元素以指定的字符连接生成一个新的字符串 |
'''
看作一种工具
每一个方法对应一个工具的功能
不同的方法功能是不一样
'''
# find(): 查找元素所在的最小索引(下标),未找到则返回-1
s = "hello python"
print(s.find('e')) # 1
print(s.find('o')) # 4 10——返回最小索引——4
print(s.find('a')) # 查找不存在的字符a,返回的就是-1
# index 查找元素所在的最小索引(下标),未找到则报错
print(s.index('e')) # 1
print(s.index('o')) # 4
print(s.index('a')) # 查找不存在的字符a,报错 not found 没有找到
# replace:以新值替换旧值 '需要掌握的'
语法:replace(旧的字符串, 新的字符串[count])
s = 'qianan is old old girl'
# old替换成beautiful
# 默认是全部替换的
print(s.replace('old', 'beautiful')) # qianan is beautiful beautiful girl
# conunt值替换此时,1代表替换一个
print(s.replace('old', 'beautiful', 1)) # qianan is beautiful old girl
s = 'qianan<)fsf*' # 去掉特殊符号
# 把原字符复制一份出来
print(s.replace('<', '').replace(')', '').replace('*', '')) # qiananfsf
print(s) # replace做了替换之后,原字符会改变吗 字符串是不可变的数据
# split(): 使用空格字符串分隔为多个词,并返回列表
# 分隔符'12 34 21'数据跟数据之间是用空格隔开
ages = input("请输入年龄")
# 默认的分隔符是空格
print(ages.split()) # ['12', '34', '21']
# 默认的分隔符是空格12,34,56
print(ages.split(',')) # ['12 34 21']
# startswith
# 判断字符串是否以'前缀'结束,返回为bool值
s = 'hello python'
# 判断是否以h开头
print(s.startswith('h')) # True
# 判断是否以h开头
print(s.startswith('hes'))False
# endswith: 判断文件的'后缀'名
s = 'a.txt'
print(s.endswith('.txt')) # 文本文档 —— True
# lower,upper大小写转换,'针对'是"英文字母"
s = 'aaaa'
# 将字母转换成大写
print(s.upper()) T# AAAA
s = 'AAAA'
# 将字母转换成小写
print(s.lower())
# strip(): 默认去掉字符串左右的空格/字符
s = ' qianan '
print(s.replace(' ', ''))
# 去除字符串首尾的空格
print(s.strip()) # qianan
s = '1qianan1'
# 去除字符串首尾的字符
print(s.strip('1')) # qianan
# isalpha: 判断字符串是否全为'字母',返回的是布尔值
s = 'dfsdf12323'
# 判断s是否全为字母
print(s.isalpha()) # False
# isdigit()
s = '23424234'
# 判断字符串是否全为数字
print(s.isdigit()) # True
# join: 将序列中的元素以指定的字符串连接生成一个新的字符串
s = input("请输入姓名")
print('♥'.join(s)) # 李占兵 李♥占♥兵
print('-'.join('abc')) # a-b-c
print(' '.join('abc')) # a b c