python 字符串类型

字符串类型

用途:
姓名、性别、地址等描述性的数据
定义方式:
' ' , " ", ''' '''内定义的一串字符
操作:
1.按索引取值(正向取,反向取)顾头不顾尾
msg = 'hello world'
print(msg[0])
print(msg[1])
print(msg[-1])
2.切片
print(msg[0:7]) # 输出结果;hello w
print(msg[0:7:2]) # 输出结果;hlow 2表示步长
print(msg[6:1:-1]) # 倒着取值 输出结果:w oll
print(msg[-1::-1]) # 取反,从最后一个开始一直取到最开始的值 输出结果:dlrow olleh
3.长度len
print(msg.__len__())
print(len(msg))
4.成员运算
print('llo' in msg) # 输出结果:True
5.移除空白strip
password = ' keke12345'
print(password.strip()) # 输出结果:keke12345

password1 = input(">>:").strip()
print(password1)

6.切分split
userinfo = 'keke@163.com'
user = userinfo.split('@')
print(user) # 输出结果:['keke', '163.com']
print(user[1]) # 输出结果:163.com
cmd = 'get /root/a/b/c.txt'
print(cmd.split()) # 输出结果:['get', '/root/a/b/c.txt'] 不写分隔符,默认按章空格切分
print(cmd.split('/')) # 输出结果:['get ', 'root', 'a', 'b', 'c.txt']
print(cmd.split('/', 1)) # 输出结果:['get ', 'root/a/b/c.txt'] 只切分一次
print(cmd.rsplit('/', 1)) # 输出结果:['get /root/a/b', 'c.txt'] rsplit从最后切分
7.循环
username = 'kekeqiqi'
for i in username:
print(i)
for j in range(0,10,2):
print(j) # 输出结果0 2 4 6 8
8.startswith,endswith       #以。。。开头,以。。。结束
letter = 'you are beautiful'
print(letter.startswith('you')) # 输出结果:True
print(letter.endswith('beautiful')) # 输出结果:True

9.format的三种用法
print('my name is {} my age is {}'.format('keke', 18)) # 输出结果:my name is keke my age is 18
print('{0} {1} {0}'.format('keke', 18)) # 输出结果:keke 18 keke
print('my name is {x} my age is {y}'.format(y=18, x='keke')) # 输出结果:my name is keke my age is 18

10.join
l1 = [1,2,3]
print(':'.join(l1)) # 报错:只有在列表内的元素全是字符串类型,才能用join拼接

lll = ['a', 'b', 'c']
print(':'.join(lll)) # 输出结果:a:b:c

11.replace
test_list = 'keke say my name is keke, keke have a testla'
print(test_list.replace('keke', 'xiaoxiannv')) # 输出结果:xiaoxiannv say my name is xiaoxiannv, xiaoxiannv have a testla
print(test_list.replace('keke', 'xiaoxiannv', 1)) # 输出结果:xiaoxiannv say my name is keke, keke have a testla

12. isdigit
age = input('>>:').strip()
if age.isdigit():
age = int(age)
print(age)
else:
print("请输入数字")

13. find,rfind,index,count,
find_str = 'so much for my happy ending'
print(find_str.find('ha')) # 输出结果:15
print(find_str.find('vv')) # 输出结果:-1

print(find_str.index('ha')) # 输出结果:15
print(find_str.index('vv')) # 输出结果:ValueError: substring not found

print(find_str.count('h')) # 统计

print('keke'.center(30, '*')) # 输出结果:*************keke*************
print('keke'.ljust(30, '*')) # 输出结果:keke**************************
print('keke'.rjust(30, '*')) # 输出结果:**************************keke
print('keke'.zfill(30)) # 输出结果:00000000000000000000000000keke

14.
print('kk\txiaoxiannv') # 输出结果:kk xiaoxiannv tab键
print('keke\txiaoxiannv'.expandtabs(10)) # 输出结果:keke xiaoxiannv
print('i am keke'.capitalize()) # 输出结果:I am keke
print('i am keke'.title()) # 输出结果:I Am Keke
print('i am keke'.swapcase()) # 输出结果:I AM KEKE

15 is系列
num1 = b'4' # bytes
num2 = u'4' # unicode,python3中无需加u就是Unicode
num3 = '四' # 中文数字
num4 = 'IV' # 罗马数字

print(num1.isdigit()) # 输出结果:True
print(num2.isdigit()) # 输出结果:True
print(num3.isdigit()) # 输出结果:False
print(num4.isdigit()) # 输出结果:False

# unicode 可以判断中文,罗马数字
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

16 is 其他
name = 'egon123'
print(name.isalnum()) # 字符串由字母和数字组成
print(name.isalpha()) # 字符串由字母组成

print('print'.isidentifier()) # 判断是否有关键字
print(' '.isspace()) # 判断是否有空格


posted @ 2020-06-09 20:38  冰箱喵  阅读(460)  评论(0编辑  收藏  举报