python初学之字符串

python初学之字符串

刚刚开始学习python,作为小白,此博客只为记录和整理一些所学的知识,便于以后查看方便,当然各路大神看到有什么错误的还望多多斧正,多多指教,在此小白先谢过各路大神了。

字符串(str):以单引号或者双引号括起来的任意文本。
1.创建字符串:

str1 = "tom"
str2 = "上官"
str3 = "1234"    

2.字符串运算:

str4 = "tom's chines name is"
str5 = "上官"
print(str4 + str5)
输出:
    tom's chines name is 上官

3.输出重复字符串:

str6 = "tom Chinese name is 上官"
print(str6 * 3)
输出:
    tom Chinese name is 上官 tom Chinese name is 上官 tom Chinese name is 上官

4.访问字符串:
访问字符串中的某个字符,通过索引下标查找字符,索引从0开始
格式:字符串名[下标]

str7 = "tom Chinese name is 上官"
print(str7[2])
输出:
    m

5.字符串改变:
执行下面代码,编译器报错,故说明:字符串不可变

 str7[3] = "a"
 --------------
 编译器报错

6.截取字符串的一部分:
从开始下标开始截取到给定下标之前
str[star:end]

str8 = "tom Chinese name is 上官"
print(str8[2:5])
输出:
    m C

7.判断元素是否在字符串中
“元素” in str 元素在返回True,不在返回Flase
“元素” not in str 元素不在返回True,在返回Flase

str8 = "tom Chinese name is 上官"
print("name" in str8)
print("name" not in str8)
输出:
    True
    False

8.字符串格式输出:

num= 10
str9 = "tom's age is"
print("str9 = %s,num = %d "%(str9,num)) 
输出:
    str9 = tom's age is ,num = 10

9.字符串处理
eval(str)
功能:将字符串str当做有效的表达式来求值,并返回计算结果

print(eval("+ 123"))
print(eval("- 123"))
print(eval("1 + 23"))
print(eval("1 - 23"))
print(type(eval("123")))  # type():返回变量的数据类型
输出:
    123
    -123
    24
    -22
    <class 'int'>

10.返回字符串的长度(字符个数)
len(str)

str10 = "tom"
print(len(str10))
输出:
    3

11.转换大写为小写
str.lower()

str11 = "TOM IS A CHINESE"
print(str11.lower())
输出:
    tom is a chinese

12.转换小写字母为大写
str.upper()

str12 = "tom is a chinese"
print(str12.upper())
输出:
    TOM IS A CHINESE

13.转换字符串中的大写转换为小写,小写转换为大写
str.swapcase()

str13 = "tom is a CHINESE"
print(str13.swapcase())
输出:
    TOM IS A chinese

14.首单词首字母大写,其他单词字母小写
str.capitalize()

str14 = "tom is a CHINESE"
print(str14.capitalize())
输出:
    TOM IS A chinese

15.每个单词的首字母大写
str.title()

str15 = "tom is a chinese"
print(str15.title())
输出:
    Tom Is A Chinese

16.返回一个指定宽度且居中的字符串
str.center(width[,fillchar])(宽度,填充符号)
fillchar可不写,默认空格填充

str16 = "tom is a chinese"
print(str16.center(40))
print(str16.center(40,"*"))
输出:
                tom is a chinese            
    ************tom is a chinese************

17.返回一个指定宽度的左对齐字符串
str.ljust(width[,fillchar])
fillchar可不写,默认空格填充

str17 = "tom is a chinese"
print(str17.ljust(40))
print(str17.ljust(40,"*"))
输出:
    tom is a chinese                        
    tom is a chinese************************

18.返回一个指定宽度的右对齐字符串,
str.rjust(width[,fillchar])
fillchar可不写,默认空格填充

str18 = "tom is a chinese"
print(str18.rjust(40))
print(str18.rjust(40,"*"))
输出:
                            tom is a chinese
    ************************tom is a chinese

19.返回一个长度为width的字符串,字符串左对齐,前面补0
str.zfill(width)

str19 = "tom is a chinese"
print(str19.rjust(40))
输出:
                             tom is a chinese

20.从开始位置到结束位置查找指定元素x的个数并返回。
str.count(‘x’[,start][,end])
start,end不写默认从开头都结束

str20 = "tom is a chinese"
print(str20.count('a'))
print(str20.count('a',1,5))
输出:
    1
    0

21.find()方法
从左向右检测某元素x中是否包含在字符串中,可指定范围,默认从头到尾,得到该元素第一次出现的下标,如果没有返回-1
str.find(‘x’[,start][,end])

str21 = "tom is a chinese"
print(str21.find('e',8,len(str21)))
print(str21.find('y'))
输出:
    13
    -1

22.rfind()方法
从右向左检测某元素x中是否包含在字符串中,可指定范围,默认从头到尾,得到该元素第一次出现的下标,如果没有返回-1
str.rfind(‘x’[,start][,end])

str22 = "tom is a chinese"
print(str22.rfind('e',8,len(str22)))
print(str22.rfind('y'))
输出:
    15
    -1

23.index()方法
和find()方法一样只不过所找元素不存在时,会报错

str23 = "tom is a chinese"
print(str23.index('e',8,len(str23)))
print(str23.index('y'))
输出:
    13
    ValueError: substring not found

24.rindex()方法
和rfind()方法一样只不过所找元素不存在时,会报错

str24 = "tom is a chinese"
print(str24.rindex('e',8,len(str24)))
print(str24.rindex('y'))
输出:
    15
    ValueError: substring not found

25.lstrip()方法
截掉字符串左侧指定字符,默认为空格
str.lstrip()

str25 = "            tom is a chinese           *"
print(str25.lstrip())
输出:
    tom is a chinese           *

26.rstrip()方法
截掉字符串右侧指定字符,默认为空格
str.rstrip()

str26 = "*            tom is a chinese           "
print(str26.rstrip())
输出:
    *            tom is a chinese

27.strip()方法
截掉字符串两侧指定字符,默认为空格
str.strip()

str27 = "            tom is a chinese           "
print(str27.strip())
输出:
tom is a chinese

28.splir()方法
以以特殊字符作为分隔符截取字符串,若指定截取数量num,则仅截取num个字符,剩下的字符作为一个整体字符
str.solir(”[,num])

str28 = "tom****is****a*****chinese"
print(str28.split('*'))
print(str28.split('*',2))
输出:
    ['tom', '', '', '', 'is', '', '', '', 'a', '', '', '', '', 'chinese']
    ['tom', '', '**is****a*****chinese']

求单词的数量:

str29 = "tom****is****a*****chinese"
str30 = str29.split("*")
c=0
for s in str30:
    if (len(s)>0):
        c += 1
print(c)
输出:
    4

29.splitlines([keepends])方法
keepends 为 True:按换行符切割,默认为True
str.splitlines()

str31 = '''tom is a chinese
tom's age is 18 years
tom like play game'''
print(str31.splitlines())
输出:
    ['tom is a chinese', "tom's age is 18 years", 'tom like play game']

30.join()方法
将seq列表转换为以指定符号作为分隔符的字符串
”.join(seq)

list32 = ['tom','is','a','chinese']
str32 = '*'.join(list32)
print(str32)
输出:
    tom*is*a*chinese

31.max()和min()方法
取字符串中ASCII值最大的和最小的元素。
max(str) min(str)

str33 = "tom is a chinese"
print(max(str33))
print('*' + min(str33) + '*')
输出:
    t
    * *

32.replace()方法
将字符串中的oldstr替换成newstr,num为替换前几个,默认为全部替换
str.replace(‘oldstr’,’newstr’[,num])

str34 = "tom is a chinese,tom's age is 18,tom like play game."
print(str34.replace('tom','jack'))
print(str34.replace('tom','jack',1))
输出:
    jack is a chinese,jack's age is 18,jack like play game.
    jack is a chinese,tom's age is 18,tom like play game.

33.isalpha()方法
如果字符串中至少有一个字符且所有字符都是字母则返回True,否则返回False
str.isalpha()

str35 = "tom is a chinese"
str36 = "tomisachinese"
print(str35.isalpha())
print(str36.isalpha())
输出:
    False
    True

34.isalnum()方法
如果字符串中至少有一个字符且所有字符都是字母或数字返回True否则返回False
str.isalnum()

str37 = "djadj245"
str38 = "djadj 245"
print(str37.isalnum())
print(str38.isalnum())
输出:
    True
    False

35.isupper()方法
如果字符串至少有一个英文字符且所有字符都是大写英文字母则返回True,否则返回False
srt.isupper()

print("ABC".isupper())
print("ABC1".isupper())
print("aBC1".isupper())
print("ABC#".isupper())
print("1".isupper())
输出:
    True
    True
    False
    True
    False

36.islower()方法
如果字符串至少有一个英文字符且所有字符都是小写英文字母则返回True,否则返回False
str.islower()

print("abc".islower())
print("abc1".islower())
print("Abc1".islower())
print("abc#".islower())
print("1".islower())
输出:
    True
    True
    False
    True
    False

37.istitle()方法
如果字符串是标题化的返回True,否则返回False
标题化:首单词首字母大写,其他字母小写
str.istitle()

print("Sunck is".istitle())
print("Sunck Is".istitle())
print("sunck is".istitle())
输出:
    False
    True
    False

38.isdigit()方法
如果字符串只包含数字字符,返回true,否则返回False
str.isdigit()

print("123".isdigit())
print("123a".isdigit())
print("".isdigit())
输出:
    True
    False
    False

39.类似用法:
1)isnumeric():如果字符串只包含数字字符,返回true,否则返回False(与上面那个一样)
2)isdecimal():字符串只包含十进制字符返回True否则False
3)isspace():字符串中只包含空格,返回True,否则返回false

print(" ".isspace())
print("    ".isspace())
print("\t".isspace())
print("\n".isspace())
print("\r".isspace())
输出:
    True
    True
    True
    True
    True
原来字符串这么多命令!!终于写完了
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值