前言:好没意思啊!疫情什么时候才全好啊!!!!烦死了,让我一个热爱运动的精神小伙儿不能跑出去乱跑,只能在这乖乖(无聊)的学Python???悲催啊!!好了不扯皮了,继续学吧。。。这次的内容是:
1.元组(与列表很像,但又不是列表。奇奇怪怪)
2.字符串
3.序列
元组
创建和访问一个元组
tuple
连老规矩我都懒得说了。往下瞅
>>> tuple = (1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple
(1, 2, 3, 4, 5, 6, 7, 8)
>>> type(tuple)
<class 'tuple'>
元组呢,跟列表不同的地方就在列表是用中括号的,而元组则是用小括号的,当然这不是重点。重点是:列表可以随意更改、删除、添加列表里的元素;而元组就不能更改元组里的元素。
我一改,他就报错了。不让改。
对比这三个,为什么temp = (1)
带了括号不是元组,而temp1不带小括号却是元组? 因为:是不是元组取决于那个逗号而不是括号,再看第三个例子就明白了。
为什么说元组跟列表很像呢???因为元组也可以进行与列表相似的操作
这些操作与列表很像吧!!!
更新和删除一个元组
不是说了,不能更改元组里的东西吗??为什么还能更新????这里可以用效仿更新字符串的方法,先切片,把字符串切成两部分再插入新的元素。对文字不太敏感看例子。没有什么是一个例子解决不了的。
新的元组被创造出来(就是插入过元素后的元组)旧的元组就会被删掉,系统嫌它浪费资源,哈哈哈!!
插入时,注意括号和逗号不能丢,否则,,,否则怎样可以自己试试😎😎😎
删除呢就很简单,用del语句就行
删除后再查看一下,不存在了,证明已经删除掉了。
字符串
首先,字符串跟元组差不多,也不能随意更改,真要改就用切片法。定义就不废话了,
提取字符串里的字符,str[想要提取的字符的数字],比如:str[5]
直接在字符串中插入字符串,用算数运算符“+”来插入,就像连接两个字符串一样。
>>> str1 = 'I love flag'
>>> str1[:6]
'I love'
>>> str1[5]
'e'
>>> str1[:6] + ' 简单的' + str1[6:]
'I love 简单的 flag'
但是,再输入str1,
还是老样子,没有变。难道真没法改??
那再试试。
这样就可以啦。
字符串的各种内置方法(一小部分):
1.连接方法,上面就是,不在多说,
内置函数len()
返回对象(字符串、列表、元组等)长度或项目个数。用法如下
>>> x = 'hello,world!'
>>> len(x)
12
2.strip()
strip英文翻译:脱掉,剥夺
strip()默认移除字符串两边的空白。只是返回处理后的副本,原来的值不变。
>>> str = ' fuck '
>>> str
' fuck '
>>> str.strip()
'fuck'
默认去除空白,但这个函数是有一个参数的,还可以这样用
>>> str1 = '666666dage6666666'
>>> str1
'666666dage6666666'
>>> str1.strip('6')
'dage'
>>> str2 = '$$$$$$$大哥$$$$$$$$'
>>> str2
'$$$$$$$大哥$$$$$$$$'
>>> str2.strip('$')
'大哥'
跟它一样的使用还有两个lstrip()
和rstrip()
>>> str2.lstrip('$')
'大哥$$$$$$$$'
>>> str2.rstrip('$')
'$$$$$$$大哥'
相信聪明的你已经看出来了
3.capitalize()
返回首字母大写的副本,不改变原来的值:
>>> lxj = 'hello,world'
>>> lxj.capitalize()
'Hello,world'
4.title()
返回标题样式的副本(单词首字母大写),不改变原来的值:
>>> lxj='hello,world'
>>> lxj.title()
'Hello,World'
5.upper()
返回所有字母大写的副本,不改变原来的值
>>> lxj='hello,world'
>>> lxj.upper()
'HELLO,WORLD'
6.lower()返回所有字母小写的副本,不改变原来的值
>>> lxj='Hello,World'
>>> lxj.lower()
'hello,world'
7.center()
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。居中显示
语法:
str.center(width[,fillchar])
width------字符串的总宽度
fillchar-----填充字符
>>> lxj='hello'
>>> lxj.center(15,'@')
'@@@@@hello@@@@@'
>>> lxj = 'dage'
>>> lxj.center(16,'$')
'$$$$$$dage$$$$$$'
8.count()
方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。空格也是字符。
语法:
str.count(canshu,start,end)
canshu-----搜索的子字符串
start----字符串开始搜索的位置,默认为第一个字符,第一个字符索引值为0
end-----字符串中结束搜索的位置。默认为字符串的最后一个位置。
>>> lxj = 'hello,the greatwall'
>>> lxj.count('l',1,10)
2
>>> lxj.count('l')
4
9.endswith()
方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
语法:str.endswith(canshu,start,end)
canshu----该参数可以是一个字符串或者是一个元素
start----字符串开始的位置
end------字符中结束的位置
>>> lxj = '$wkx$syf'
>>> lxj.endswith('f')
True
>>> lxj.endswith('syf')
True
10.startswith()
方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
语法:str.startwith(str,begin,rend)
str-----检测的字符串。
begin----可选参数用于设置字符串检测的起始位置。
end----可选参数用于设置字符串检测的结束位置
>>> lxj.startswith('$')
True
>>> lxj.startswith('$wkx')
True
11.find()
方法检测字符串中是否包含子字符串 str ,如果指定 begin(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。(没找到就返回-1)
语法:
str.find(str,begin,end)
str-----指定检索的字符串
begin----开始索引,默认为0
end-----结束索引,默认为字符串的长度
>>> lxj = '/wkx/ncl/syf.py'
>>> lxj.find('/')
0
>>> lxj.find('/',1,4)
-1
>>> lxj.find('.py')
12
>>> lxj.find('.html')
-1
12.format()
和%格式化功能一样,基本语法是通过 {} 和:来代替以前的%。format函数可以接受不限个参数,位置可以不按顺序。
>>> lxj='name:{},age:{},sex:{}'
>>> print(lxj.format('wkx',18,'male'))
name:wkx,age:19,sex:male
>>> lxj='name:{a},age:{b},sex:{c}'
>>> print (lxj.format(a='syf',b=19,c='male'))
name:syf,age:19,sex:male
13.digit英文解释:数字isdigit()
判断字符串内是否全是数字。如果字符串只包含数字则返回 True 否则返回 False。
>>> lxj = 'zxcv0221'
>>> lxj.isdigit()
False
>>> lxj = '123456789'
>>> lxj.isdigit()
True
14.isalpha()
方法检测字符串是否只由字母组成。如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
>>> lxj = 'zxcv0221'
>>> lxj.isalpha()
False
>>> lxj = 'zxcv'
>>> lxj.isalpha()
True
15.index()
方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()
方法一样,只不过如果str不在 string中会报一个异常。
16.replace()
方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法:str.replace(old,new,max)
old----将被替换的子字符串
new----新字符串,用于替换old子字符串
cishu----指定替换次数
>>> lxj = 'this is test'
>>> lxj.replace('is','are')
'thare are test'
>>> lxj.replace('is','are',1)
'thare is test'
>>> lxj.replace('is','are',2)
'thare are test'
17.split()
通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法:str.split('分隔符',num)
分隔符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
>>> lxj = 'lxj:wkx:syf:ncl:lalala'
>>> lxj.split()
['lxj:wkx:syf:ncl:lalala']
>>> lxj.split(':')
['lxj', 'wkx', 'syf', 'ncl', 'lalala']
>>> lxj.split(':',2)
['lxj', 'wkx', 'syf:ncl:lalala']
>>> lxj.split(':',3)
['lxj', 'wkx', 'syf', 'ncl:lalala']
18.isspace()
方法检测字符串是否只由空格组成。
如果字符串中只包含空格,则返回 True,否则返回 False.和将一段空字符串使用strip处理后判断是否等于’'一样。
>>> lxj = ' '
>>> lxj.isspace()
True
>>> lxj.strip() == ''
True
19.swapcase()
方法用于对字符串的大小写字母进行转换。
返回大小写字母转换后生成的新字符串。
>>> lxj = 'I\'m waiting my love!'
>>> lxj.swapcase()
"i'M WAITING MY LOVE!"
>>> lxj = 'asdkdKDSJCN'
>>> lxj.swapcase()
'ASDKDkdsjcn'
20.ljust()
方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
语法:str.ljust(width,fillchar)
width-----指定字符串长度
fillchar----填充字符,默认为空格rjust()
方法返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
>>> lxj = 'wkx'
>>> lxj.ljust(10,'&')
'wkx&&&&&&&'
>>> lxj.rjust(10,'&')
'&&&&&&&wkx'
OK,先简单介绍这么多,我天,我还记不下来呢,好多啊,这还都是比较常用的,害,记东西什么的最烦了。🙄🙄🙄🙄
字符串格式化符号及含义
符号 | 说明 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化定点数,可指定小数点后的精度 |
%e | 用科学计数法格式化定点数 |
%E | 同%e 用科学计数法格式化定点数 |
%g | 根据值的大小决定使用%f或%e |
%G | 跟%g一样,根据值的大小决定使用%f或%E |
呼,真多,,,😭😭😭😭
按顺序来:
################################1.##########################
>>> '%c'% 97
'a'
>>> '%c %c %c' % (97,98,99)
'a b c'
#################################2##########################
>>> '%s' % 'nothing is impossible'
'nothing is impossible'
#################################3.#########################
>>> '%d+%d=%d'% (4,5,4+5)
'4+5=9'
#################################4##########################
>>> '%o'% 10
'12'
#################################5##########################
>>> '%x' % 10
'a'
###############################6###########################
>>> '%X' % 10
'A'
>>> '%X' % 160
'A0'
#############################7##############################
>>> '%f' % 37.698
'37.698000'
##############################8#############################
>>> '%e' % 37.698
'3.769800e+01'
###############################9############################
>>> '%E' % 37.698
'3.769800E+01'
#############################10#############################
>>> '%g' % 37.698
'37.698'
最后再总结下转义字符
符号 | 说明 |
---|---|
’ | 单引号 |
" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(tab) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
呼。。。累,,终于结束了。最近脑阔疼,我在想是不是熬夜太多了,不行不行,今天早点睡。不然真成秃头小宝贝了。想想都可怕。溜了溜了
来源:CSDN
作者:咸鱼也有梦想啊
链接:https://blog.csdn.net/qq_45836474/article/details/104467151