# 字符串 # 1.字符串定义:单引、双引号、三引号都可以定义字符串 name='andy\n' namr1="tom" html=''' <html> <head> <title></title> </head> <body> </body> </html> '''# print(name,namr1,html) # 2.转义字符 # \t制表符 \n换行符 # 3.字符串截取:切片[] [:] [::] #以一个邮箱为例: str='zhansan@163.cn' print(str[0]) #获取单个字符,0为第一位,从0开始 print(str[len(str)-1]) #用数组长度函数方法获取字符串最后一位 print(str[-1]) # 获取区间字符,包括前一个不包括后面数字 print(str[1:5]) #截取1到4下标的字符串 print(str[:5]) #截取0到4下标的字符串 print(str[:]) #打印所有 print(str[5:]) #从5开始到结束 # #z h a n s a n @ 1 6 3 . c n # #-15--------------6-5-4-3-2-1 print(str[-5:]) #从-5开始到结束 #[::]是从后往前数,需-1-1,最后一个是步长:隔几个打印一个 print(str[::2]) #每隔2个打印一个字符 print(str[-1:-5:-1]) #最后一个不写,默认是1.。。因为-1到-5 需要-1-1-1,所以最后一位要写成复数 print(str[-1:0:-1]) #nc.361@nasnah倒序([::-1]) print(str[::-1]) #nc.361@nasnahz倒序 # 4.字符串的一些用法 # in:判断是否在些字符串中存在 bool # not in:判断是否不在此字符串中 # r/R:原样输出字符串,如一些特殊字符串"\n",'\t' email ="hang@bdqn.cn" print("an in email:"+ str( 'an' in email )) print("at not in email"+str('at' not in email)) print('hello\tpython') print(r'hello\tpython') print("\t 代表一个制表符 \n 换行符"); print(R"\t 代表一个制表符 \n 换行符"); # 5.字符串格式化,有2种方式 #第一种 %s字符 %d整数 %f 浮点型 %.2f 保留2 小数 四舍五入 #第二种 .format()格式化: print('你好,%s'%'小明') #只有一个时 print('你好,%s今年%d岁'%('小明',20)) #两个参数及以上时加括号,成映射 #''.format有两种占位符 print('姓名{name},年龄{age},工资{gongzi}'.format(name='小明',age=20,gongzi=2000)) print('姓名:{0},班级:{1}'.format('小红','03')) #6.字符串的内置操作函数 # 6.1 len(string) length='hello python world' print('字符串的长度是:{0}'.format(len(length))) # 6.2找区间内某字符出现的次数 string.count(sub, start= 0,end=len(string)) cishu="abcdabcdabcdabcd" print('cishu出现的次数是:{0}'.format(cishu.count('a',3,9))) # 6.3 每个单词的首字母大写string.title() daxie='hello shoudancizimu' print("单词首字母大写:{0}".format(daxie.title())) #6.4 找字符串对应下标find(str, beg=0, end=len(string)) zhao='abcdabcdabcdabcd' print('字符串对应的下标是:{0}'.format(zhao.find('a',3,9))) # 从右边开始找rfind(str, beg=0, end=len(string)) print('字符串对应的下标是:{0}'.format(zhao.rfind('a',3,9))) # 6.5找字符串对应下标index(),找不到就抛出异常 print('字符串对应的下标是:{0}'.format(zhao.index('a',3,9))) print('字符串对应的下标是:{0}'.format(zhao.rindex('a',3,9))) #6.5替换字符 string.replace("替换前","替换后字符") print('替换:{}'.format(zhao.replace('abc','你好'))) #6.6 拆分 三种 # 6.6.1string.split(str="", num=string.count(str)) num=分割几次 # 6.6.2str.partition("xxx")以此字符串为节点 来拆分 # 返回头、分割符、尾三部分 返回头、尾两个空元素的3个元组。 name="hello-python-world"; print(name.split("-")) #以-分割为三部分 print(name.partition(" ")) #('hello-python-world', '', '')没有分割的字符时就 # 6.6.3 splitlines(bool keepends):按照换行符进行拆分,如果字符串中有"\n" 结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False, # 不包含换行符,如果为 True,则保留换行符 name7="hello\nworld\npython" print(name7.splitlines()) print(name7.splitlines(True)) print(name7.splitlines(True)[2]) print('拆分:{}'.format(zhao.split())) #6.7判断 startswith(str, beg=0,end=len(string)):以XX开头 bool phone='da xiao xie panduan' print(phone.startswith('d')) print(phone.endswith('d')) print(phone.isalpha()) #isalpha():判断字符串是否是字母和文字(不包含数字和符号) true false name6='1234' print(name6.isdigit()) # isalnum():判断字符串是否是数字和字母 true false name8="1234jfld" print(name8.isalnum()) # isalnum():判断字符串是否是数字和字母/汉字 true false #6.8转换 lower(): upper(): print(phone.upper()) print(phone.lower()) #6.9 对齐ljust(int num,str=""),rjust(),center() duiqi=' duiqi' print(duiqi.ljust(15,"*")) #共15个字符,没有字符的地方有*代替 #6.10 去空格strip(),lstrip(),rstrip() 左 中 右 print(duiqi.strip()) #左端空格去掉了 #6.11 join(sequence): 将列表组成新的字符串,mystr.join(" ") sequence 要拼接列表 mystr连接项 s="**" word2=['1','a','b'] print(s.join(word2))
python基础第二课笔记 字符串
最新推荐文章于 2024-08-22 08:16:54 发布