python中字符串

字符串:可用单引号 双引号 三引号 来表示
可用来定义国籍,姓名,家庭住址等
选项:
#.join 把可迭代的对象转化成字符串 (字符串,列表,元组,字典等),列表 元组 合并为字符串,字典合并的是key

>>> res = ''.join(['1','2','3'])   #列表
>>> print(res)
123
>>> res = ''.join(('1','2','3'))   #元组
>>> print(res) 
123

 

>>> res = ''.join({'a':1,'b':2})
>>> print(res)
ab

 

>>> a = ':'.join('1,2,3,4,5'.split(','))
>>> print(a)
1:2:3:4:5

 

#定义ip   str1 = '192.168.200.12' 
#.split 把字符串分割成列表(从左往右分割) rsplit (从右往左分割)

>> str1 = '192.168.200.12'
>>> res = str1.split('.')
>>> print(res)
['192', '168', '200', '12']

 

>>> str1 = '192.168.200.12'
>>> res = str1.split('.',1)
>>> print(res)
['192', '168.200.12']

 

>>> str1 = '192.168.200.12'
>>> res = str1.rsplit('.',1)
>>> print(res)
['192.168.200', '12']

 

#replace 替换字符串

>>> str1 = '192.168.200.12'
>>> res = str1.replace('.','|')
>>> print(res)
192|168|200|12

 

>>> str1 = '192.168.200.12'
>>> res = str1.replace('.','|',1)
>>> print(res)
192|168.200.12

 

#strip 去除字符串两边指定字符 rstrip(去除右边) lstrip (去除左边)

>>> str1 = '==192.168.200.12=='
>>> res = str1.strip('=')
>>> print(res)
192.168.200.12

 

#encode 字符编码
utf8 格式的字符编码: 1个中文占3个字节 生僻字会占用更多
gpk格式的字符编码: 1个中文占2个字节
用什么字符编码写入就用什么字符编码打开

>>> str1 = '天明'
>>> res = str1.encode('utf-8')
>>> print(res)
b'\xe5\xa4\xa9\xe6\x98\x8e'

 

>>> str1 = '天明'
>>> result = res.decode('utf-8')
>>> print(result)
天明

 

#占位符: %s(字符串) %d(整型) %f(浮点型)

>>> name1 = '天明'
>>> name2 = 'tianming'
>>> res = 'my name is %s'
>>> print(res % name1)
>>> print(res % name2)
my name is 天明
my name is tianming

 

>>> name1 = '天明'
>>> res = 'my name is %s' % 123
>>> print(res)
my name is 123

 

>>> name1 = '天明'
>>> res = ' my name is %.3f' % 123 #保留三位小数
>>> print(res)
my name is 123.000

 

#format 格式化输出

>>> name1 = '天明'
>>> age = 25
>>> res = 'my name is {},my age is {}'.format(name1,age)
>>> print(res)
my name is 天明,my age is 25

 

>>> name1 = '天明'
>>> age = 25
>>> res = 'my name is {0},my age is {1}'.format(name1,age)
>>> print(res)
my name is 天明,my age is 25

 

>>> name1 = '天明'
>>> age = 25
>>> res = 'my name is {name},my age is {age}'.format(name=name1,age=age)
>>> print(res)
my name is 天明,my age is 25

 

name1 = '天明'
>>> age = 25
>>> res = f"my name is {name1},my age is {age}"
>>> print(res)
my name is 天明,my age is 25

 

#字符串可以拼接:相加 可以与数字相乘

>>> a = 'abc'
>>> b = '235'
>>> print(a+b)
abc235

 

>>> a = 'abc'
>>> b = '235'
>>> print(a*5)
abcabcabcabcabc
>>> print(b*2)
235235

 

#[::-1] 反转数组或序列的顺序

>>> str1 = '123'
>>> res =str1[::-1]
>>> print(res)
321

 

#type 类型

>>> str1 = '123'
>>> print(type(str1))
<class 'str'>

 

#id 内存占用

>>> str1 = '123'
>>> print(id(str1))
61103744

 

#isalpha() 判断字符串是否是字母

>>> str1 = '天明'
>>> res = str1.isalpha()
>>> print(res)
True

 

#isalnum() 判断是否是数字或者字符组成

>>> str1 = '天明'
>>> res = str1.isalnum()
>>> print(res)
True

 

#isaldigit() 判断是否是整型

>>> str1 = '天明'
>>> res = str1.isdigit()
>>> print(res)
False

 

>>> str2 = '123123'
>>> res =str2.isdigit()
>>> print(res)
True

 

#rfind 从右往左找第一个对应的值 索引是正向的(0开始)找不到就会变成-1

>>> str2 = '123123'
>>> res = str2.rfind('2')
>>> print(res)
4

 

>>> str2 = '123123'
>>> res = str2.rfind('3',0,1) #范围0-3之间 不包括3包括0 找不到就会变成-1
>>> print(res)
-1

 

#find 从左往右找第一个对应的值 索引是正向的(0开始)

>>> str2 = '123123'
>>> res =str2.find('3')
>>> print(res)
2

 

#index 从左往右找第一个对应的值 显示正向索引 没有找到匹配的值会报错

>>> str2 = '123123'
>>> res =str2.index('2')
>>> print(res)
1

 

#count 统计字符个数 如果没有显示0

>>> str2 = '123123'
>>> res = str2.count('2')
>>> print(res)
2

 

#title 把字符串变成抬头

>>> str1 = 'hello word'
>>> res = str1.title()
>>> print(res)
Hello Word

 

#startswith 判断字符串当中开头字符是否为所选的字符

>>> str1 = 'hello word'
>>> res = str1.startswith('h')
>>> print(res)
True

 

#endswith 判断字符串当中结尾字符是否为所选的字符

>>> str1 = 'hello word'
>>> res = str1.endswith('d')
>>> print(res)
True

 

#isspace 判断是否是由空格组成

>>> str1 = ' '
>>> res = str1.isspace()
>>> print(res)
True

 

 

posted on 2019-11-10 10:48  负重前行岁月静好  阅读(233)  评论(0编辑  收藏  举报