一、对象的方法
Python中一切类型数据都是对象:数据和方法
1.对象的数据:
对象所对应的存储的东西,是静态的部分比如: a='sd123456
2.对象方法:
可以看做对象的行为,是动态的部分
对象方法其实就是属于该对象的函数
3.查找字符串中子字符串位置
1.查找字符串位置
find 返回指定的子字符串在字符串中出现的位置,找不到值返回—1
index 返回指定的子字符串在字符串中出现的位置,找不到值报错
示例:
4.去掉字符串中的空格与字符(strip与replace )
# 1.去掉字符串前后的空格,返回去掉前后空格后的字符串
str2 = '两个黄鹂鸣翠柳,一行白鹭上青天'
print(str2.strip())
# 2.也可以去掉指定字符
str3 = '******两个黄鹂鸣翠柳,一行白鹭上青天*****'
print(str3.strip().strip('**'))
# replace
# 1.替换字符串中的字符,返回替换后的字符
# replace(替换前的字符,替换后的字符)
str4 = '两个黄鹂鸣翠柳!一行白鹭上青天'
print(str4.replace('!','@'))
运行结果:
5.startswith与endswith (检查字符串是否以指定方式开头或结尾)
startswith
检查字符串是否以指定的字符串开头,返回值是布尔型
endswith
检查字符串是否以指定的字符串结尾,返回值是布尔型
示例:
6.判断字符串中是否都是字母或者都是数字?(isalpha和isdigit )
示例:
7.切割字符串 (split )
split
切割字符串,它有一个参数,以参数作为分隔符
将字符串分隔为多个字符串,返回值是列表,每个字符串是一个元素
如果切割符位于首位或末尾,会产生空值
示例:
8、练习——用python编写一个小程序,失败输入手机号码运营商
inputP = input ('输入一个手机号')
if inputP.isdigit(): #判断用户输入的是否不是纯数字,如果不是,则提不用户输入的值不正确
if len(inputP)==11:#判断用户输入长度是否为11位
YUNYIN=int(inputP[0:3])
if 130<=YUNYIN<=150:
print('移动')
elif 151<=YUNYIN<=170:
print('联通')
elif 171<=YUNYIN<=190:
print('电信')
else:
print('无对应运营商')
else:
print('你输入的不是11位手机号')
else:
print('您输入的不是数字')
二、格式化字符串的三种方式
1.方案一:
使用格式化操作符%进行对字符串进行格式化,常见操作符:
示例:
a = '好好学习'
b = '天天向上'
print('哈哈哈哈哈%s%s.'%(a,b))#字符串
print('还有%d天放假.'%(18))#整数
print('π的值为%f'%(3.1415926535898))#浮点数
2.方案二:
使用{}.format进行字符串格式化,format函数可以接受不限个数的参数,位置也可以不按顺序。
# 1.普通用法,format中的参数,对应{}的依次替换
#out了,坑爹基现在是疯狂三四五,昨天就有9.9两盒的鸡米花
print("out了,坑爹基现在是{},昨天就有{}两盒的鸡米花".format('345', '9.9'))
# 2.设置位置(索引)格式化,format函数中,按索引的参数替换字符串
#out了,坑爹基现在是疯狂三四五
print("out了,{0}现在是{1}".format("坑爹基", '疯狂三四五'))
# 3.指定替换参数的值
#你out了,坑爹基现在是疯狂三四五,昨天就有9.9两盒的鸡米花
str = "{who}out了,坑爹基现在是{time},昨天就有{what}".format(who="你", time="疯狂三四五", what="9.9两盒的鸡米花")
print(str)
示例:
3.方案三:
在python3.6以后的版本中,可以用f的写法,f写法可以认为是format的优化版
a = '张三'
b = 23
print(f'我叫{a},年龄{b}.')#字符串前加f,{}内直接输入值
运行截图: