python字符串用法

一,数据类型的转换

1常用的数据类型有int,str,bool三种;

int是整型:一般的操作是查找数据的二进制长度bit_length()

一般数据有:1)二进制:逢二进一2)十进制,(0-9)逢十进一3)八进制,(0-7)蜂八进一4)十六进制逢 (0-F)十六进一

例:

a=10

print(a.bit_length())#就能得到a这个变量的值的二进制长度

二,数据类型的转换

结论1:把x转换成y类型 y(x)

例子:print(bool(-1))#将布尔值转变成数据类型

print(int(a))#将a转变成数据类型

print(str(a)#将a转变成字符类型 
结论2:空的东西是False, 非空的东西是True,

false: False: 0,‘‘,[],{},set(),tuple(),None(真空)

print(bool({}) #false

三,索引切片

1,在python和其他开发语言中我们的索引都是从零开始算的

 反向 -7 -6-5 -4 -3-2 -1 正向  0  1 2  3  4 5  6 s = "文 能 提 笔 安 天 下" print(s[3]) print(s[7]) # index out of range 超过了索引的范围 print(s[-8]) # 反向索引 - 反向例子
切片 从字符串中获取新字符串s = "银王喜欢和金王一起讨论污王"s1 = s[5]+s[6]+s[7]+s[8]print(s1)s[start: end] 从start切到end。 但是不包含end. 顾头不顾尾s2 = s[5:9] #  从5-9 没有9print(s2)print(s[3:7]) # 欢和金王print(s[5:]) # 从5开始, 到末尾print(s[:5]) # 从头开始到5结束print(s[:]) # 从头到尾print(s[5:3]) # 默认的方向是从左到右.

s[start: end: step] step如果是正数 从左到右。 如果是负数就是从右到左s = "金毛狮王谢逊紫衫龙王黛绮丝"print(s[3:1:-1]) # 可以从右往左切片print(s[1:8:3])  #从左往右切且各三个取一个值

print(s[::-1])

总结:s[start: end: step]start:  起始位置end:  结束为止。取不到step:  步长。 每隔xx个取1个。 默认是1 如果step是-1 从右往左取值

四,字符串操作
1.upper() 全部转化成大写字母,loswer全部转换成小写,capitalize()首字母大写,title()每个单词首字母大写,swapcase()大写变小写小写变大写

2.strip() 去掉左右两段的空白(空格,\n, \t)
3.replace(old, new) 字符串替换
4.split() 切割. 得到的结果是一个列表.
5.startswith() 判断是否以xxx开头,endswith()判断以什么结尾
6.find() 查找。如果找到了。 返回索引。如果找不到返回-1
7.len() 内置函数,求字符串长度

8,count()计数计算字符或数字出现的次数

9isdigit(),判断是否是数字

例子

2.有字符串s = "123a4b5c"1)通过对s切?形成新的字符串s1,s1 = "123"    s="123a4b5c"    s1=s[0:3]    print(s1)2)通过对s切?形成新的字符串s2,s2 = "a4b"    s="123a4b5c"    s2=input(s[3:6])    print(s2)3)通过对s切?形成新的字符串s3,s3 = "1345"    s="123a4b5c"    s3=s[0:8:2]    print(s3)4)通过对s切?形成字符串s4,s4 = "2ab"    s="123a4b5c"    s4=s[1:7:2]    print(s4)5)通过对s切?形成字符串s5,s5 = "c"    s="123a4b5c"    s5=s[-1]    print(s5)6)通过对s切?形成字符串s6,s6 = "ba2"    s="123a4b5c"    s6=s[-3:-8:-2]    print(s6)3.使?while和for循环分别打印字符串s="asdfer"中每个元素。#(while循环)s="asdfer"index=0while index<len(s):    print(s[index])    index+=1#(for循环)    # s="asdfer"    # for i in s:    #     print(i)4.使?for循环对s="asdfer"进?循环,但是每次打印的内容都是"asdfer"。    s="asdfer"    for i in s:        print(i,s)

5.使?for循环对s="abcdefg"进?循环,每次打印的内容是每个字符加上sb,    s="abcdefg"    for i in s:        print(i +"sb")day3作业及默写1.有变量name = "aleX leNb" 完成如下操作:1)移除 name 变量对应的值两边的空格,并输出处理结果    name = "alex leNb"    print(name.strip())2)移除name变量左边的"al"并输出处理结果    name = "alex leNb"    print(name.strip("al"))3)移除name变量右?的"Nb",并输出处理结果    name= "alex leNb"    print(name.strip("Nb"))4)移除name变量开头的a"与最后的"b",并输出处理结果    name="alex leNb"    print(name.strip("a"+"b"))5)判断 name 变量是否以 "al" 开头,并输出结果    name="alex leNb"    n=name.startswith("al")    if n == True:        print("name is al start")    else:        print("is not al start")6)判断name变量是否以"Nb"结尾,并输出结果    name = "alex leNb"    n=name.endswith("Nb")    if n== True:        print("是以Nb结尾")    else:        print("不是以Nb结尾")7)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果    name = "alex leNb"    print(name.replace("l","p"))8)将name变量对应的值中的第?个"l"替换成"p",并输出结果    name="alex leNb"    n=name.replace("al","ap")    print(n)9)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。    name="alex leNb"    print(name.split("l"))10)将name变量对应的值根据第?个"l"分割,并输出结果。    print(name.replace("al","ap").split("p"))11)将 name 变量对应的值变?写,并输出结果    name="alex leNb"    print(name.upper())12)将 name 变量对应的值变?写,并输出结果    name="alex leNb"    print(name.lower())13)将name变量对应的值?字?"a"?写,并输出结果    name="alex leNb"    print(name.capitalize())    print(name.title())    print(name.swapcase())大写变小写,小写变大写    name="alex leNb"    print(name.upper())

14)判断name变量对应的值字?"l"出现?次,并输出结果    name="alex leNb"    print(name.count("l"))15)如果判断name变量对应的值前四位"l"出现?次,并输出结果    name="alex leNb"    i=name[0:4]    print(i.count("l"))16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果    name="alex leNb"    print(name.index("N"))

17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果    name="alex leNb"    print(name.find("N"))

18)从name变量对应的值中找到"X le"对应的索引,并输出结果    name="alex leNb"    print(name.find("x le"))19)请输出 name 变量对应的值的第 2 个字符?    name="alex leNb"    print(name.find("l"))20)请输出 name 变量对应的值的前 3 个字符?    name = "alex leNb"    print(name.find("a"),name.find("l"),name.find("e"))21)请输出 name 变量对应的值的后 2 个字符?    name="alex leNb"    print(name.find("N"),name.find("b"))22)请输出 name 变量对应的值中 "e" 所在索引位置?    name="alex leNb"    print(name.find("e"))例如:asb, bsb,csb,...gsb。6.使?for循环对s="321"进入循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。    s="321"

for t in s:        print("倒计时" + t + "s")    else:        print("出发")7,实现?个整数加法计算器(两个数相加):如:content = input("请输?内容:") ?户输入:5+9或5+ 9或5 + 9,然后进行分割再进?计算。    content=input("请输入内容")    n=content.split("+")    s=0    for i in n:        s += int(i)        print(s)8,升级题:实现?个整数加法计算器(多个数相加):如:content = input("请输?内容:") 用户户输入:5+9+6 +12+ 13,然后进行计算    content=input("请输入内容")    n=content.split("+")    s=0    for i in n:        s += int(i)    print(s)分割再进?计算。9,计算?户输?的内容中有?个整数(以个位数为单位)。如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla    content=input("请输入内容")    count=0    for b in content:        if b.isdigit()==1:            count=count+1    print(count)

五迭代
for 变量 in 可迭代对象:
循环体(break,continue)
else:

例子

写代码,完成下列需求:用户可持续输出(用while循环),用户使用的情况:输?A,则显示走大路回家,然后在让用户户进二步选择:是选择公交车,还是步??选择公交车,显示10分钟到家,并退出整个程序。选择步?,显示20分钟到家,并退出整个程序。输?B,则显示??路回家,并退出整个程序。输?C,则显示绕道回家,然后在让用户进行步选择:是选择游戏厅玩会,还是?吧?选择游戏厅,则显示 ‘一个半?时到家,爸爸在家,拿棍等你。’并让其重新输?A,B,C选项。选择?吧,则显示‘两个?时到家,妈妈已做好了战斗准备。’并让其重新输?A,B,C选项。    while True:        user=input("请输入一个字母A或B或C:")        if user=="C":            print("绕道回家")            use1 = input("请问是游戏厅还是网吧玩会:")            if use1 =="游戏厅":                print("一个半小时到家,爸爸在家,拿棍等你。")            elif use1 == "网吧":                print("两个小时到家,妈妈已做好了战斗准备。")        elif user=="A":            print("走大路回家")            use2=input("请问坐公交还是步行:")            if use2 == "公交车" :                print("10分钟到家")                break            elif use2 =="步行":                print("20分钟到家")                break        else:            print("走小路回家")            break
写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?i=1sumi=0j=1sumj=0while i<99 and j<99:    sumi=sumi+i    j = i + 1    i += 2    if j==88:        continue    sumj = sumj + jprint(sumi-sumj)(升级题)判断?句话是否是回?. 回?: 正着念和反着念是?样的. 例如, 上海
?来?来?海上(升级题)    while True:        wen = input("请输入一句话:")        if wen[0:] == wen[-1::-1] :            print("这句话是回文")        else:            print("不是回文")

13. 输?一个字符串,要求判断在这个字符串中?写字?,小写字?,数字,其它字符共出现了多少次,并输出出来    content=input("请输入内容")    count=0    cont1=0    cont2=0    cont3=0    for a in content:        if a.isdigit()==1:            count=count+1    # print(count)        elif a.islower()==1:            cont1 += 1    # print(count1)        elif a.isupper()==1:            cont2 +=1    #print(cont2)        else:            cont3 +=1    print("数字",count,"个")    print("小写字母",cont1,"个")    print("大写字母",cont2,"个")    print("其他字符", cont3,"个")
给出百家姓. 然后用户输入一个人的名字. 判断这个姓是否是百家姓中的姓氏
first_name=\‘‘‘赵钱孙李,周吴郑王。冯陈褚卫,蒋沈韩杨。朱秦尤许,何吕施张。孔曹严华,金魏陶姜。戚谢邹喻,柏水窦章。云苏潘葛,奚范彭郎。鲁韦昌马,苗凤花方。俞任袁柳,酆鲍史唐。费廉岑薛,雷贺倪汤。滕殷罗毕,郝邬安常。乐于时傅,皮卞齐康。伍余元卜,顾孟平黄。和穆萧尹,姚邵湛汪。祁毛禹狄,米贝明臧。计伏成戴,谈宋茅庞。熊纪舒屈,项祝董梁。杜阮蓝闵,席季麻强。贾路娄危,江童颜郭。梅盛林刁,钟徐邱骆。高夏蔡田,樊胡凌霍。虞万支柯,昝管卢莫。经房裘缪,干解应宗。丁宣贲邓,郁单杭洪。包诸左石,崔吉钮龚。程嵇邢滑,裴陆荣翁。荀羊於惠,甄曲家封。芮羿储靳,汲邴糜松。井段富巫,乌焦巴弓。牧隗山谷,车侯宓蓬。全郗班仰,秋仲伊宫。宁仇栾暴,甘钭厉戎。祖武符刘,景詹束龙。叶幸司韶,郜黎蓟薄。印宿白怀,蒲邰从鄂。索咸籍赖,卓蔺屠蒙。池乔阴鬱,胥能苍双。闻莘党翟,谭贡劳逄。姬申扶堵,冉宰郦雍。卻璩桑桂,濮牛寿通。边扈燕冀,郏浦尚农。温别庄晏,柴瞿阎充。慕连茹习,宦艾鱼容。向古易慎,戈廖庾终。暨居衡步,都耿满弘。匡国文寇,广禄阙东。欧殳沃利,蔚越夔隆。师巩厍聂,晁勾敖融。冷訾辛阚,那简饶空。曾毋沙乜,养鞠须丰。巢关蒯相,查后荆红。游竺权逯,盖益桓公。万俟司马,上官欧阳。夏侯诸葛,闻人东方。赫连皇甫,尉迟公羊。澹台公冶,宗政濮阳。淳于单于,太叔申屠。公孙仲孙,轩辕令狐。钟离宇文,长孙慕容。鲜于闾丘,司徒司空。丌官司寇,仉督子车。颛孙端木,巫马公西。漆雕乐正,壤驷公良。拓跋夹谷,宰父谷梁。晋楚闫法,汝鄢涂钦。段干百里,东郭南门。呼延归海,羊舌微生。岳帅缑亢,况郈有琴。梁丘左丘,东门西门。商牟佘佴,伯赏南宫。墨哈谯笪,年爱阳佟。第五言福,百家姓终。‘‘‘# name = input("请输入用户名")# for i in first_name :#     if i == name[0] :#         break#     print(i,"在百家姓中")# else:#     print("不在百家姓中")# while循环while True:    name = input("请输入用户名")    if name[0] in first_name :        print("在百家姓中")    continueelse:    print("不在百家姓中")
六,格式化输出制作趣味模板程序需求:等待?户输?名字、地点、爱好,根据?户的名字和爱好进?任意现实 如:敬爱可亲的xxx,最喜欢在xxx地??xxx    aihao="和蔼可亲的%s,最喜欢在%s,干%s" %("刘传盛","小树林","谈恋爱")    love="{}的演的电影,是{},{}很喜欢" .format("周星驰","幽默的","大家")    AV="{0},{1},{2},{3},都是{4},受广大{5}喜欢" .format\        ("苍井空","泷泽萝拉","小泽玛丽牙","波多野结衣","日本明星","宅男")    print(AV)    print(love)    print(aihao)


原文地址:https://www.cnblogs.com/liucsxiaoxiaobai/p/9822516.html

时间: 2024-12-26 16:58:47

python字符串用法的相关文章

python字符串-内置方法用法分析

1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本 1.2 S.lower() -> string 返回一个字母全是小写的副本 1.3 S.swapcase() -> string 返回一个字母大小写转换后的副本 1.4 S.title() -> string 将单词的首字母大写,即为所谓的标题 方框里是中文的编码,可以发现 s 还是大写了,说明会无视其他类型的字符,找到英文单词就将其首字母大写 1.6 S.capitaliz

Python 字符串前面加&#39;r&#39;

python中r的用法,r'str'表示raw string,既忽略转义字符.因为和windows不一样,python中认为\就是转义字符escape sequences的标志. 在python2.x中,unicode字符串需要在字符串前加u来表示,比如 str=u'汉字' 而在python3.x中,unicode字符串已经是默认格式,因此不再需要加u, 如果你加了u,会报语法错误: str=u'汉字' SyntaxError: invalid syntax Python 字符串前面加'r'

【代码学习】PYTHON字符串的常见操作

一.字符串运算符 下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python": 操作符 描述 实例 + 字符串连接 >>>a + b 'HelloPython' * 重复输出字符串 >>>a * 2 'HelloHello' [] 通过索引获取字符串中字符 >>>a[1] 'e' [ : ] 截取字符串中的一部分 >>>a[1:4] 'ell' in 成员运算符 - 如果字符串

python字符串编码

http://blog.csdn.net/pipisorry/article/details/44136297 文本,他们通常指显示在屏幕上的字符或者其他的记号:但是计算机不能直接处理这些字符和标记:它们只认识位(bit)和字节(byte).实际上,从屏幕上的每一块文本都是以某种字符编码(character encoding)的方式保存的.粗略地说就是,字符编码提供一种映射,使屏幕上显示的内容和内存.磁盘内存储的内容对应起来.有许多种不同的字符编码,有一些是为特定的语言,比如俄语.中文或者英语,

python字符串格式化输出及相关操作代码举例

字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法. 在python中格式化输出字符串通用的形式为: 格式标记字符串 % 要输出的值组 其中,左边部分的"格式标记字符串"可以完全和c中的一致.右边的"值组"如果有两个及以上的值则需要用小括号括起来,中间用逗号隔开. 重点来看左

Python 字符串day08

字符串是最 Python 总常用的数据类型.我们可以使用引号来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 = "Python Programming" Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/python var1 = 'Hello World!' var2

Python 字符串 String 内建函数大全(1)

关于 Python 的字符串处理相关的方法还是非常多的,由于我正在学习 Python,于是就把 Python 中这些混杂的用于 string 的函数总结出来,在自己忘记的时候便于查找,希望对于有类似需求的人有所帮助. captalize() 函数 功能 将一个字符串的第一个字母大写 用法 str.captalize() 参数 无 返回值 string 示例代码 str = "hello world!" print "str.capitalize(): ", str.

Python 字符串处理大全.

Python 字符串 字符串是Pyhton中常用的数据类型,我们可以使用引号来创建字符串 . 创建字符串很简单 , 就不说了 . Python 访问字符串中的值 鬼叔本着简洁 使用的设计目的 , 在设计的时候 . 字符串之中不存在 单个字符 . 所有的字符都是以字符串存在的 . Python访问自字符串可以   进行切片操作 .  下面举一个栗子. 1 >>> str1='yuanchongyang' 2 >>> str1[4:9] 3 'chong' 4 >&g

[转] 强大的python字符串解析

1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...''')包围,三引 号包含的字符串可由多行组成,一般可表示大段的叙述性字符串.在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号 ('''...''')可以包含双引号,而不需要转义. 2.用(\)对特殊字符转义,如(\)