Python(六)

☆樱花仙子☆ 提交于 2020-03-02 07:25:03

前言:好没意思啊!疫情什么时候才全好啊!!!!烦死了,让我一个热爱运动的精神小伙儿不能跑出去乱跑,只能在这乖乖(无聊)的学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 表示一个空字符
\\ 反斜杠

呼。。。累,,终于结束了。最近脑阔疼,我在想是不是熬夜太多了,不行不行,今天早点睡。不然真成秃头小宝贝了。想想都可怕。溜了溜了
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!