前言:好沒意思啊!疫情什麼時候才全好啊!!!!煩死了,讓我一個熱愛運動的精神小夥兒不能跑出去亂跑,只能在這乖乖(無聊)的學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 | 表示一個空字符 |
\\ | 反斜槓 |
呼。。。累,,終於結束了。最近腦闊疼,我在想是不是熬夜太多了,不行不行,今天早點睡。不然真成禿頭小寶貝了。想想都可怕。溜了溜了