Python字符串

本文介绍了Python中的数学函数如max(),min(),abs(),round()以及字符串处理,包括字符串定义、取值、切片、格式化、查找与替换等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.常用的数学函数
函数功能描述
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值