python获取maco句柄_python基礎知識點整理

本文详细介绍了Python中的序列类型(tuple和list)及其操作,包括长度、元素访问、修改、字符串处理函数如计数、查找、替换等。同时涵盖了字符串的特性和常用方法,如格式化、分割、连接等,以及数据类型检查和文件读写技巧。
摘要由CSDN通过智能技术生成

序列

描述

sequence(序列)是一組有順序的元素的集合。序列可以包含一個或多個元素,也可以沒有任何元素。我們之前所說的基本數據類型,都可以作為序列的元素。

序列有兩種:tuple(定值表; 也有翻譯為元組) 和 list (表)

s1 = (2, 1.3, 'love', 5.6, 9, 12, False) #s1是一個tuples2= [True, 5, 'smile'] #s2是一個list

tuple元素不可變,list元素可變

序列的引用 s[2], s[1:8:2]

字符串是一種tuple

序列操作

#s為一個序列

len(s)#返回: 序列中包含元素的個數

min(s)#返回: 序列中最小的元素

max(s)#返回: 序列中最大的元素

all(s)#返回: True, 如果所有元素都為True的話

any(s)#返回: True, 如果任一元素為True的話

sum(s)#返回:序列中所有元素的和

#x為元素值,i為下標(元素在序列中的位置)

s.count(x)#返回: x在s中出現的次數

s.index(x)#返回: x在s中第一次出現的下標

列表增刪

#list為一個表, list2為另一個表

list.extend(list2)#在表list的末尾添加表list2的所有元素

list.append(x)#在list的末尾附加x元素

list.sort()#對list中的元素排序

list.reverse()#將list中的元素逆序

list.pop()#返回:表list的最后一個元素,並在表l中刪除該元素

del list[i] #刪除該元素

(以上這些方法都是在原來的表的上進行操作,會對原來的表產生影響,而不是返回一個新表。)

字符串

#str為一個字符串,sub為str的一個子字符串。s為一個序列,它的元素都是字符串。width為一個整數,用於說明新生成字符串的寬度。

str.count(sub)#返回:sub在str中出現的次數

str.find(sub)#返回:從左開始,查找sub在str中第一次出現的位置。如果str中不包含sub,返回 -1

str.index(sub)#返回:從左開始,查找sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤

str.rfind(sub)#返回:從右開始,查找sub在str中第一次出現的位置。如果str中不包含sub,返回 -1

str.rindex(sub)#返回:從右開始,查找sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤

str.isalnum()#返回:True, 如果所有的字符都是字母或數字

str.isalpha()#返回:True,如果所有的字符都是字母

str.isdigit()#返回:True,如果所有的字符都是數字

str.istitle()#返回:True,如果所有的詞的首字母都是大寫

str.isspace()#返回:True,如果所有的字符都是空格

str.islower()#返回:True,如果所有的字符都是小寫字母

str.isupper()#返回:True,如果所有的字符都是大寫字母

str.split([sep, [max]])#返回:從左開始,以空格為分割符(separator),將str分割為多個子字符串,總共分割max次。將所得的子字符串放在一個表中返回。可以str.split(',')的方式使用逗號或者其它分割符

str.rsplit([sep, [max]])#返回:從右開始,以空格為分割符(separator),將str分割為多個子字符串,總共分割max次。將所得的子字符串放在一個表中返回。可以str.rsplit(',')的方式使用逗號或者其它分割符

str.join(s)#返回:將s中的元素,以str為分割符,合並成為一個字符串。

str.strip([sub])#返回:去掉字符串開頭和結尾的空格。也可以提供參數sub,去掉位於字符串開頭和結尾的sub

str.replace(sub, new_sub)#返回:用一個新的字符串new_sub替換str中的sub

str.capitalize()#返回:將str第一個字母大寫

str.lower()#返回:將str全部字母改為小寫

str.upper()#返回:將str全部字母改為大寫

str.swapcase()#返回:將str大寫字母改為小寫,小寫改為大寫

str.title()#返回:將str的每個詞(以空格分隔)的首字母大寫

str.center(width)#返回:長度為width的字符串,將原字符串放入該字符串中心,其它空余位置為空格。

str.ljust(width)#返回:長度為width的字符串,將原字符串左對齊放入該字符串,其它空余位置為空格。

str.rjust(width)#返回:長度為width的字符串,將原字符串右對齊放入該字符串,其它空余位置為空格。

常用函數

type() #查詢數據類型(整數,浮點數,真值(True/False),字符串)

dir(list)#dir()用來查詢一個類或者對象所有屬性。你可以嘗試一下

help(list)#help()用來查詢的說明文檔。你可以嘗試一下

range()

range(5) #代表從0到5(不包含5) ==>[0, 1, 2, 3, 4]

range(1,5) #代表從1到5(不包含5) ===>[1, 2, 3, 4]

range(1,5,2) #代表從1到5,間隔2(不包含5) ===>[1, 3]

enumerate()函數,可以在每次循環中同時得到下標和元素:

#例1:

S = 'abcdefghijk'

for (index,char) inenumerate(S):print(index, char)#例2:

for i,j in enumerate(('a','b','c')):print(i,j)

返回結果:

0 a1b2 c

zip()函數的功能,就是從多個列表中,依次各取出一個元素。每次取出的(來自不同列表的)元素合成一個元組,合並成的元組放入zip()返回的列表中。

#例:

ta = [1,2,3]

tb= [9,8,7]

tc= ['a','b','c']for (a,b,c) inzip(ta,tb,tc):print(a,b,c)

lambda函數也叫匿名函數,即,函數沒有具體的名稱。

#例:

deff(x):return x**2

print f(4)

Python中使用lambda的話,寫成這樣

g= lambda x : x**2

print g(4)

map()函數會根據提供的函數對指定序列做映射

#例:

re = map(lambda x: x ** 2, [1, 2, 3, 4, 5])print(list(re))

返回結果為:

[1, 4, 9, 16, 25]

filter()把傳入的函數依次作用於每個元素,然后根據返回值是True還是False決定保留還是丟棄該元素。

#例:

deffunc(a):if a > 100:returnFalseelse:returnTrue

re= filter(func, [12, 434, 665, 5])print(list(re))#結果為:(保留返回值為True的元素)

[12, 5]

reduce()函數中function參數是一個有兩個參數的函數,reduce依次從sequence中取一個元素,和上一次調用function的結果做參數再次調用function。第一次調用function時,如果提供initial參數,會以sequence中的第一個元素和initial作為參數調用function,否則會以序列sequence中的前兩個元素做參數調用function。

#例:

from functools import reduce #在Python 3里,reduce()函數已經被從全局名字空間里移除了,需要從fucntools模塊引用

print(reduce((lambda x, y: x + y), [1, 2, 5, 7, 9]))#返回結果為:

24 #上面例子,相當於(((1+2)+5)+7)+9

文件讀寫

格式

f = open(filename,mode)

mode:

r: #以讀方式打開文件,可讀取文件信息。

w:#以寫方式打開文件,可向文件寫入信息。如文件存在,則清空該文件,再寫入新內容

a:#以追加模式打開文件(即一打開文件,文件指針自動移到文件末尾),如果文件不存在則創建

r+:#以讀寫方式打開文件,可對文件進行讀和寫操作。

w+:#消除文件內容,然后以讀寫方式打開文件。

a+:#以讀寫方式打開文件,並把文件指針移到文件尾。

b:#以二進制模式打開文件,而不是以文本模式。該模式只對Windows或Dos有效,類Unix的文件是用二進制模式進行操作的。

讀操作

f.read([count]):#讀出文件,如果有count,則讀出count個字節。

f.readline():#讀出一行信息。

f.readlines():#讀出所有行,也就是讀出整個文件的信息。

寫操作

f.write(string):#把string字符串寫入文件。

f.writelines(list):#把list中的字符串一行一行地寫入文件,是連續寫入文件,沒有換行。

關閉

f.close():#關閉文件,記住用open()打開文件后一定要記得關閉它,否則會占用系統的可打開文件句柄數。

其他

f.seek(offset[,where]):#把文件指針移動到相對於where的offset位置。where為0表示文件開始處,這是默認值 ;1表示當前位置;2表示文件結尾。

f.fileno():#獲得文件描述符,是一個數字

f.flush():#刷新輸出緩存

f.isatty():#如果文件是一個交互終端,則返回True,否則返回False。

f.tell():#獲得文件指針位置。

f.truncate([size]):#截取文件,使文件的大小為size。

運算符

算數運算符:+, -, *, /, **, %比較運算符:==, !=, >, >=,

進制

獲取內存地址的十進制和十六進制表示。

a = 1

print(id(a))print(hex(id(a)))#返回結果:

11246696

'0xab9c68'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值