Python入坑之學習筆記(三)

前言:好沒意思啊!疫情什麼時候才全好啊!!!!煩死了,讓我一個熱愛運動的精神小夥兒不能跑出去亂跑,只能在這乖乖(無聊)的學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 表示一個空字符
\\ 反斜槓

呼。。。累,,終於結束了。最近腦闊疼,我在想是不是熬夜太多了,不行不行,今天早點睡。不然真成禿頭小寶貝了。想想都可怕。溜了溜了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章