Python字符串

1.python里创建一个字符串可用单引号' '或者双引号" ",我习惯于一个字符用丹壹号,多个字符用双引号。

s = 'a'
str = "my name is wll and I am 20"

2.(1)字符串的逐个输出

#逐个输出字符串str
str = "banana"
for i in range(0,len(str)):
    print(str[i])

b
a
n
a
n
a

(2)整个输出(不同方式)

name = "my name is wll and I am 20"
print(name)

name1 = "my name is %s and I am %d"
print(name1 % ("wll",20))

name2 = "my name is {name} and I am {age}"
print(name2.format(name="wll",age=20))

name3 = "my name is {0} and I am {1}"
print(name3.format("wll",20))

#这四种方式输出的结果都是
my name is wll and I am 20

 

3.python字符串的一些用法

str.capitalize()
#首字母大写
My name is wll and i am 20
str.count('w')
#统计 w 的个数,应该就是1个了

1
str.center(50, "-")
#一共打印50个字符,不够"-"来凑

------------my name is wll and I am 20------------
str.endswith("wll")
#判断字符串是不是以"wll"结尾,返回真假

False
str = "my \tname is wll and I am 20"

str.expandtabs(tabsize=30)
#在\t处打印30个空格

my                            name is wll and I am 20
str.find("y")
#索引,找到第一个y的位置,从0开始

1

#str.find()方法我只能找到第一个位置,那如果我要找所有的呢
str = "my name is wll and I am 20"
print(str.find('m'))
print("---------------------")
count = 0
for i in range(len(str)):
    if 'm' == str[i]:
        count = count + 1
        print("m在第",i,"")
print("m的总个数为", count)

0
---------------------
m在第 0 个
m在第 5 个
m在第 22 个
m的总个数为 3

 

str[str.find("name"):]
#切片,从"name"开始一直到最后打印,切片在列表会说到

name is wll and I am 20

str = "my name is {name} and I am {age} years old"

str.format(name='wll', age=20)
#.format用法

my name is wll and I am 20 years old

str.format_map({'name': 'wll', 'age': 22})
#.format的字典用法,字典后面会详说

my name is wll and I am 20 years old
str.isalnum()
#判断是不是阿拉伯数字(英文字符+1~9),特殊字符不行,这里有空格

False

'abc123'.isalnum()
#abc123只有英文字符abc和123,这就可以

True
str.isalpha()
#判断是不是纯英文字符,显然不是

False

'abA'.isalpha()
#这就是了

True
'a1'.isidentifier()
#判断是不是一个合法的标识符(变量名),什么是合法的标识符,由字母和数字、下划线组成,开头不能是数字

True
str.islower()
#判断是不是小写

False

str.isupper()
#有小写就有大写,判断是不是大写

False
str.isnumeric()
#判断是不是数字(只有数字,有小数点不行)

False
str.istitle()
#判断每个首字母是不是大写

False

'My Name'.istitle()
#这显然就是了嘛

True
' '.isspace())  
#判断是不是空格

True
'+'.join(['1', '2', '3'])
#连成字符串

1+2+3
str.ljust(50, '*')
#一共打印50个字符,不够*来凑(在右边)

my name is wll and I am 20************************

name.rjust(50, '*')
# 有在右边的就有在左边的,一共打印50个字符,不够*来凑(在左边)

************************my name is wll and I am 20
str.lower())  
#把字符串大写改成小写

my name is wll and i am 20

str.upper()
#把字符串小写改成大写

MY NAME IS WLL AND I AM 20
str.replace('a', 'A')  
#替换,把a换成A

my nAme is wll And I Am 20

str.replace('a', 'A', 1)  
#替换,把a换成A,后面有个1,意思只换一个

my nAme is wll and I am 20
str.rfind('a')
#找到最右边的a的下标

21
name.split()
#把字符串按空格分成列表

['my', 'name', 'is', 'wll', 'and', 'I', 'am', '20']
'1+2+3+4'.split('+')
#把字符串按+分成列表

['1', '2', '3', '4']
'1+2\n+3+4'.splitlines()
#把字符串按换行分成列表

['1+2', '+3+4']
str.swapcase()
#把字符串小写变大写,大写变小写

MY NAME IS WLL AND i AM 20
str.title()
#把字符串每个首字母变大写

My Name Is Wll And I Am 20
str.zfill(50)
# 打印50个字符,不够用0填充

000000000000000000000000my name is wll and I am 20

 

4.补充一个小点,和字符串无关,三元组

a = 1
b = 2
c = 3
d = a if a > b else c
print(d)

3
三元运算,如果条件(a > b)为真则 d 值为a,否则 d 值为c
posted @ 2018-11-15 19:34  少年_不识愁滋味  阅读(238)  评论(0编辑  收藏  举报