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