数字类型,字符串类型的操作及内置方法
数字类型(int\float\complex\bool)(不可变)
# 了解:python2中python小整数型用int,大整数用long
# 布尔
# res = True
# print(res,type,isinstance(res,int)) # isinstance(用来判断类型)
# 复数
# num = complex(5,4) # 5+4j
# 重点:数字类型直接的相互转化
# print(int(a), int(b), int(c))
# print(float(a), float(b), float(c))
# print(bool(a), bool(b), bool(c))
字符串类型(str)(不可变)
定义:可以有多种引号嵌套(\转换符)
字符串的常规操作:
1.字符串的索引取值:字符串对象[index] (正向取值从0编号,反向取值从-1编号)
# s1 = 'wq12345'
# print(id(s1)) # 2286001176960
# print(s1[0],id(s1[0])) # 2286001109120 内存地址并不相同
2.字符串拼接
# a.同类型拼接
# s1 = '你真'
# s2 = '漂亮'
# s3 = s1 + s2
# b.不同类型拼接
# s1 = 10 # int
# s2 = '20' # str
# s3 = True # bool
# res = "%s%s%s" % (s1,s2,s3) #方法1
# res = str(s1) + s2 + str(s3) #方法2
3.字符串长度: len(对象)
# s3 = '123456'
# long1 = s3.__len__() # 方法一
# print(long1)
# long2 = len(s3) # 方法二
# print(long2)
4.字符串切片:取字符串 -[ : : ]-[start_index:end_index:step]
# s1 = 'wq123456'
# cut1 = s1[::-1] # 倒序方法一
# print(cut1)
# cut2 = s1[-1:-9:-1] # 倒序方法二
# print(cut2)
5.成员运算:判断某(连续)字符串是否在该字符中(a in b)
# a = 'wq12345'
# b = 'wq'
# c = 'wq2'
# print(b in a)
# print(c in a)
# 6.字符串循环(遍历)
# s6 = 'wq123456'
# for a in s6 :
# print(a)
重要方法
1.索引(目标字符串的索引位置)(.index)
# s1 = 'wqjuejiang'
# print(s1.index('j')) #
2.去留白(默认去两端留白,也可以去指定字符)(.strip)
# s2 = '***您*好***'
# print(s2.strip('*')) #表达形式
3.计算字符串个数(.count)
# s3 = 'wqjuejiang'
# print(s3.count('j')) #表达行式
4.判断字符串是否为数字:只能判断正整数(.isdigit)
# s4 = '123'
# print(s4.isdigit()) #表达形式
5.大小写转换(upper/lower)
# s5 = 'wQjueJIANG'
# print(s5.upper()) # 全大写
# print(s5.lower()) # 全小写
#了解
#s5 = 'wang qiang '
#print(s5.capitalize()) # 首字母大写
#print(s5.title()) # 每个单词首字母大写
6.用于判断以某某开头或结尾(判断信息是否合法)startswith/endswith
# s6 = 'https://www.baidu.com'
# print(s6.startswith('https:'))
# print(s6.startswith('http:'))
# print(s6.endswith('com'))
# print(s6.endswith('cn'))
案例:判断链接是否合法
# s6 = input('请输入地址: ')
# r1=(s6.startswith('https:'))
# r2=(s6.startswith('http:'))
# r3=(s6.endswith('com'))
# r4=(s6.endswith('cn'))
# if (r1 or r2) and (r3 or r4) :
# print('合法连接')
# else:
# print('非法链接'
7.替换(.replace)
# .replace('old','new',替代次数)
# s7 ='wq say : hello world, fighting! fighting! fighting! '
# new_s7 = s7.replace('fighting!' , 'work',1)
# print(new_s7)
8.格式化(.format形式)
#s8 = 'name:{} , age:{}'
# print(s8.format('wq','26')) # 默认按位置填充
# print('name:{0},age:{1},height:{1}'.format('wq','26')) # 标注位置,一个值可以多次利用
# print('name:{a},age:{b},height:{c}'.format(a='wq',b='26',c='26')) # 指名道姓
9.分割(.split)
# s9='2189318'
#print(s9.split('1'))
#['2', '893', '8']
了解:
'''
1. find | rfind:查找子字符串索引,无结果返回-1
index:未结果报错
2. lstrip:去左留白
3. rstrip:去右留白
4. center | ljust | rjust | zfill(以0填充):按位填充
语法:center(所占位数, '填充符号')
5. expandtabs:规定\t所占空格数(默认为8个tab)
6. captialize (首字母大写)| swapcase(大小写反转)|
7. isdigit | isdecimal | isnumeric:数字判断
8. isalnum:字符串至少有一个字符是数字或字母,输出为True
isalpha:字符串是由纯字母构成,输出为True
9. isidentifier:是否是合法标识符
10. islower | isupper:是否全小 | 大写
11. isspace:是否为全空白字符
12. istitle:是否为单词首字母大写格式
'''
注 :print('四'.isnumeric()) #可以识别4,四,Ⅳ,肆
print('4'.isdigit()) #只能识别4