python常用方法
⑴ python中字典常用的方法有哪些,分別有什麼作用
寫法:字典序列[key] = 值 ***字典為可變類型
常用方法:
1、# 新增字典中的數據
dict1 = {'name':'huu','age':20,'gender':'男'}
dict1['id'] = 133
print(dict1)
2、# 修改字典中的數據
dict1['name'] = 'xiauaiguai'
print(dict1)
3、刪除字典或刪除字典中指定鍵值對
del()/del:
dict1 = {'name':'huanghu','age':30,'gender':'男'}
# del(dict1) 直接將字典刪除了,運行報錯
del dict1['name']
print(dict1)
# del dict1[names] 刪除不存在的key,運行報錯
4、清空字典
clear():
dict1.clear() # 清空字典
print(dict1)
5、查找
key值查找
如果當前查找的key存在則返回對應的值,否則則報錯
函數查找
get():如果當前查找的key不存在則返回第二個參數值(默認值),
如果省略第二個參數則返回 None
key()
dict1 = {'name':'huhu','age':20,'gender':'男'}
print(dict1['name']) # huhu
print(dict1['id']) # 報錯
# 1, get()查找
print(dict1.get('name')) # huanghu
print(dict1.get('id',133)) # 133--如果當前查找的key不存在則返回第二個參數值(默認值)
print(dict1.get('id')) # None--如果省略第二個參數則返回 None
# 2, keys() 查找字典中所有的key,返回可迭代對象
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
# 3,values() 查找字典中所有的values,
print(dict1.values()) # dict_values(['huanghu', 30, '男'])
# 4, items() 查找字典中所有的鍵值對,返回可迭代對象,裡面的數據是元組,
元組數據1是字典中的key,元組數據2是字典key對應的值
print(dict1.items()) # dict_items([('name', 'huahu'), ('age', 20), ('gender', '男')])
⑵ python 通用的方法 都有哪些
一些常用的方法
1. 逆轉字元串的三種方法
1.1. 模擬C++中方法, 定義一個空字元串來實現
通過設置一個空字元串, 然後講參數中的字元串從後往前遍歷, 使用字元串的加法合並為新的字元串
復制代碼 代碼如下:
def reverse(text) :
str = ''
index = len(text) - 1
while index >= 0 :
str += text[index]
index -= 1
return str
1.2. 使用切片法
這個是Python中的一個特性, 切片可以取負值,這是採用切片的方法,設置步長為-1,這樣就實現了反過來排序。
復制代碼 代碼如下:
def reverse_1(text) :
return text[::-1]
1.3. 使用列表
採用列表的reverse方法,先將text轉換為列表,然後通過reverse方法反轉,然後在通過join連接為字元串。
復制代碼 代碼如下:
def reverse_2(text) :
temp = list(text)
temp.reverse()
return ''.join(temp)
2. 使用rece
使用匿名函數和rece()
復制代碼 代碼如下:
def reverse_3(text) :
return rece(lambda x, y : y + x, text)
print reverse_3("Hello")
3. 遍歷字典的四種方法
復制代碼 代碼如下:
dict={"a":"apple","b":"banana","o":"orange"}
print "##########dict######################"
for i in dict:
print "dict[%s]=" % i,dict[i]
print "###########items#####################"
for (k,v) in dict.items():
print "dict[%s]=" % k,v
print "###########iteritems#################"
for k,v in dict.iteritems():
print "dict[%s]=" % k,v
print "###########iterkeys,itervalues#######"
for k,v in zip(dict.iterkeys(),dict.itervalues()):
print "dict[%s]=" % k,v
4. 遍歷list的三種方法
復制代碼 代碼如下:
for key in lst :
print key
for i in range(len(lst)) :
print lst[i]
for index, key in enumerate(lst) :
print key //index是list的索引
5. 字典排序的方法
字典按照value的值從大到小的順序來排序(默認從小到排序)。
復制代碼 代碼如下:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict
//輸出的結果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]
下面我們分解下代碼
print dic.iteritems() 得到[(鍵,值)]的列表。
然後用sorted方法,通過key這個參數,指定排序是按照value,也就是第一個元素d[1的值來排序。reverse = True表示是需要翻轉的,默認是從小到大,翻轉的話,那就是從大到小。
對字典按鍵(key)排序:
復制代碼 代碼如下:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) # d[0]表示字典的鍵
print dict
#sorted中第三個可選參數為reverse, True表示從大到小排序
#默認reverse = False
6. 子類和父類
子類構造函數調用父類的初始化構造函數
復制代碼 代碼如下:
class A(object) :
def __init__(self) :
print "testA
class B(A) :
def __init__(self) :
A.__init__(self)
子類調用父類的同名函數
復制代碼 代碼如下:
super().fuleifunction()
7. 更靈活的參數傳遞方式
復制代碼 代碼如下:
func2(a=1, b=2, c=3) #默認參數
func3(*args) #接受任意數量的參數, 以tuple的方式傳入
func4(**kargs) #把參數以鍵值對字典的形式傳入
在變數前加上星號前綴(*),調用時的參數會存儲在一個 tuple()對象中,賦值給形參。在函數內部,需要對參數進行處理時,只要對這個
tuple 類型的形參(這里是 args)進行操作就可以了。因此,函數在定義時並不需要指明參數個數,就可以處理任意參數個數的情況。
復制代碼 代碼如下:
def calcSum(*args):
sum = 0
for i in args:
sum += i
print sum
#調用:
calcSum(1,2,3)
calcSum(123,456)
calcSum()
#輸出:
6
579
0
#################################
def printAll(**kargs):
for k in kargs:
print k, ':', kargs[k]
printAll(a=1, b=2, c=3)
printAll(x=4, y=5)
#輸出:
a : 1
c : 3
b : 2
y : 5
x : 4
python的中參數可以多種形式進行組合, 在混合使用時,首先要注意函數的寫法,必須遵守:
1.帶有默認值的形參(arg=)須在無默認值的形參(arg)之後
2.元組參數(*args)須在帶有默認值的形參(arg=)之後
3.字典參數(**kargs)須在元組參數(*args)之後
在函數被調用時,參數的傳遞過程為:
1.按順序把無指定參數的實參賦值給形參
2.把指定參數名稱(arg=v)的實參賦值給對應的形參
3.將多餘的無指定參數的實參打包成一個 tuple 傳遞給元組參數(*args)
4.將多餘的指定參數名的實參打包成一個 dict 傳遞給字典參數(**kargs)
8. lambda 表達式
lambda 表達式可以看做一種匿名函數
lambda 表達式的語法格式:
lambda 參數列表: 表達式 #參數列表周圍沒有括弧,返回值前沒有 return 關鍵字,也沒有函數名稱
復制代碼 代碼如下:
def fn(x):
return lambda y: x + y
#調用
a = fn(2)
print a(3)
#輸出
5
分析
: fn(2)調用後, 相當於a = lambda y: 2 + y, 然後a(3)被調用時.
相當於 print lambda y: 2 + 3
⑶ Python列表的常用操作- 查找方法【詳細講解】
列表的作用是一次性存儲多個數據,程序員可以對這些數據進行的操作有:增、刪、改、查。
下面講解的是對列表的查找操作,可以分為兩種方法,一種是根據下標來進行查找,另外一種是根據查找函數來操作。
回憶一下知識點,之前講過字元串的時候有說到下標,下標是計算機內存分配的從0開始的編號,目的是根據下標可以找到針對性的數據。列表也可以根據下標來找到數據,後面學習的元組同樣也可以。
語法:
注意:如果以後都是用下標來查找數據,語法無非就是:序列名[下標]
快速體驗:
列印結果如圖:
語法:
快速體驗:
執行結果如圖:
注意:
語法:
快速體驗:
注意 :
-- 2. 如果書寫了開始和結束位置的下標,則在這個范圍內查找,存在則返回開始位置的下標,如果查找的數據不存在則返回0;
語法:
注意: len()方法是一個公共的方法,無論是字元串、列表還是元組都可以使用
快速體驗:
以上就是列表的4種查找方法,每個方法有自己的語法和作用,這個知識點屬於 Python基礎教程 范疇,所以學起來還是比較輕松地,大家主要多多練習記住函數以及使用方法即可。
⑷ 學python的10個有效方法有哪些
學習python主要是自學或者報班學習的方式,但不建議自學。
如果想通過學習python改行,那就需要明確一下自己的方向。因為python編程有很多方向,有網路爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智慧、量化交易等等,各個方向都有特定的技能要求。
想學的話,當然是可以學習的。python是一門語法優美的編程語言,不僅可以作為小工具使用提升我們日常工作效率,也可以單獨作為一項高新就業技能!
python可以做的事情:
軟體開發:用python做軟體是很多人正在從事的工作,不管是B/S軟體,還是C/S軟體,都能做。並且需求量還是挺大的;
數據挖掘:python可以製作出色的爬蟲工具來進行數據挖掘,而在很多的網路公司中數據挖掘的崗位也不少;
游戲開發:python擴展性很好,擁有游戲開發的庫,而且游戲開發絕對是暴力職業;
大數據分析:如今是大數據的時代,用python做大數據也是可以的,大數據分析工程師也是炙手可熱的職位;
全棧工程師:如今程序員都在向著全棧的方向發展,而學習python更具備這方面的優勢;
系統運維:python在很多linux中都支持,而且語法特點很向shell腳本,學完python做個系統運維也是很不錯的。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
⑸ 學python的10個有效方法有哪些
python,人工智慧 5G時代 想必大家這些字眼一定不會陌生 因為趨勢所然 勢比人大 可是 完全是跨行業的學生或者工薪一族如何去蛻變 並且和時代完美接軌呢 並且這個時代懂編程 懂技術 懂互聯網的人 工資都很豐厚 想必大家都有所了解。作為一名多年python工作碼農 給大家分享下過來人的學習經驗吧 希望對大家能有點幫助
一、在學習Python之前 選擇好方向
相信大多人在學習Python之前 肯定都自己了解過這門語言,也知道Python有很多的學習方向,比如說數據採集方向(爬蟲),或者Web開發方向,也可能是最近特別火熱的人工智慧方向。每個方向所需要的技術都是不盡相同的,所以在我們學習完成Python的基礎語法之後,一定要慎重選擇自己之後的進階方向。
二 學習Python的基礎語言
就像學習其他編程語言或者是學習一門外語一樣 ,我們應該從Python的基礎語法開始學習 ,了解什麼是Python的變數 什麼是循環 什麼是函數,什麼是模塊。類等等。總之,基礎是學習以後高級開發的基石。
三、學習Python的文件操作
學習完基礎之後,我們肯定要進行一些簡單的聯系。文件的操作是我們不二的選擇,因為無論是文本文件。XML格式的文件還是Office辦公系列的文件。我們統稱之為文件操作。
我們在學習文件操作的時候,要學習文件的寫入和讀取 以及了解各種文件之間的讀寫不同知識點。相信在學習完成之後,對於文件的操作 大家一定會得心應手。
四、學習Python的網路編程
在我們這個時代 ,相信大多數是離不開互聯網的,我們要學習網路編程。一般了解一下三個方面就可以了。
1.寫出基本的TCP連接,知道編寫TCP的各個步驟,例如創建socket、綁定port、埠復用等,對TCP稍微做了解,知道協議的每個欄位,了解三次握手
2.了解基本的伺服器並發模型,例如多進程、多線程、IO復
3.了解一些網路庫例如twisted
五、學習Python的資料庫編程在我們學習完成Python的文件操作處理之後 肯定會對於文件的不便性有一定的理解。所以這個時候我們就要學習Python的資料庫編程了。資料庫有Mysql資料庫,Oracle資料庫和Sqlite資料庫。Sqlite資料庫是Python自身擁有的,而其他的資料庫則需要我們安裝相應的操作模塊。一般 我們學習Mysql資料庫的操作即可。資料庫的增加數據,刪除數據,以及查詢數據 以及對應的SQL語句是我們學習的重點。
六、Python高級進階(一):Web方向
在我們學習完成之前的基礎知識之後,我們就要開始學習實戰項目了。我們可以使用Python編寫一個博客網站。通過網站的編程知識的學習。我們可以充分鞏固我們之前所學的文件操作,資料庫編程以及網路編程。是學習提高的好方法。一般Django框架是學習Python Web編程的首選框架。
七、Python高級進階(二):人工智慧方向
Python在人工智慧方向上的運用是非常廣泛的。深度學習是我們需要掌握的,我們可以學習谷歌的開源人工智慧框架TensorFlow。以及Numpy這種工具可用來存儲和處理大型矩陣,是學習人工智慧敲門磚。在掌握這些知識以後,我相信大家就可以根據自己的實際情況來進入深入學習了。
八、python的知識儲備1.python基礎知識(變數、語句、數據類型等等,買本入門知識或者是去網上找關於python的基礎知識)
2.了解python的基礎庫(模塊、包、系統模塊、三方模塊,python的庫是相當多的,這也是它受歡迎的原因之一)
3.python的文字處理
4.python數據排序
5、數學基礎:微積分、線性代數、概率與統計、離散數學
九、自學或者培訓的選擇 定力自律性強自學 並給大家推薦一個不錯的學習網站創客學院十、學習需要名師指路 或者良好的學習氛圍 遇到問題互相指教 一個python人熱愛的學習QQ裙【python學習創客群】
自己的一些拙見 希望對大家有幫助 對您有用的話 可以點個贊 謝謝大家。
⑹ 運行python程序的兩種方式
運行python程序的兩種方式是什麼?python有兩種運行方式:互動式和腳本式。互動式可以通過cmd命令行窗口或者IDEL實現,而腳本式通過寫一個腳本(.py結尾的文檔)實現。其中互動式主要用於簡單的python運行或者測試調試python時用到,而腳本式是運行python程序的主要方法。
第一,互動式,通過Windows命令行工具進行互動式運行python。同時按下Windows鍵和R鍵,啟動「運行」,在「運行」中輸入cmd然後回車,即彈出命令行工具,然後輸入python回車,即出現如下界面。
第二,然後輸入print('Helloworld!'),既可以敲一行代碼,與python交互一次,python執行一次。
第三,通過IDEL互動式運行python。從「開始」中找到Python->IDEL,如下圖。
第四,啟動IDEL後,同樣輸入print('Helloworld!'),既可以敲一行代碼,與python交互一次,python執行一次。只不過IEDL中python代碼可以高亮顯示。
第五,腳本式運行python,在IDEL中點擊file->newfile,就會彈出一個未命名(Untitled)的腳本窗口,然後輸入如下代碼,並按Ctrl+S保存。
#20181216攝氏溫度和華氏溫度之間轉換
t=input('請輸入帶有單位符號的溫度(例如37C或者100F):')
ift[-1]in('f','F'):
C=(eval(t[:-1])-32)/1.8 #如果輸入為華氏溫度,那麼轉換為攝氏溫度
print('轉變為攝氏溫度%.2fC為:'%C)
elift[-1]in('c','C'):
F=eval(t[:-1])*1.8+32 #如果輸入為攝氏溫度,那麼轉換為華氏溫度
print('轉變為華氏溫度%.2fF為:'%F)
else:
print('輸入格式有誤,請輸入帶有單位符號的溫度(例如37C或者100F):')
第六,按F5運行上一步保存的***.py腳本,就會出現如下界面,提示:請輸入帶有單位符號的溫度(例如37C或者100F),隨便輸入一下就行,即通過腳本運行了python。
那麼,有關運行python程序的兩種方式的內容,小編就介紹到這里了。小夥伴們可以用心了解一下哦!
本篇文章使用以下硬體型號:聯想小新Air15;系統版本:win10;軟體版本:python3.0。
⑺ Python中常見魔法方法介紹
魔法方法 (Magic Methods) 是Python中的內置函數,一般以雙下劃線開頭和結尾,例如__ init__ 、 __del__ 等。之所以稱之為魔法方法,是因為這些方法會在進行特定的操作時會自動被調用。
在Python中,可以通過dir()方法來查看某個對象的所有方法和屬性,其中雙下劃線開頭和結尾的就是該對象的魔法方法。以字元串對象為例:
可以看到字元串對象有 __add__ 方法,所以在Python中可以直接對字元串對象使用"+"操作,當Python識別到"+"操作時,就會調用該對象的 __add__ 方法。有需要時我們可以在自己的類中重寫 __add__ 方法來完成自己想要的效果。
我們重寫了 __add__ 方法,當Python識別"+"操作時,會自動調用重寫後的 __add__ 方法。可以看到,魔法方法在類或對象的某些事件出發後會自動執行,如果希望根據自己的程序定製特殊功能的類,那麼就需要對這些方法進行重寫。使用魔法方法,我們可以非常方便地給類添加特殊的功能。
1、構造與初始化
__ new __ 、 __ init __ 這兩個魔法方法常用於對類的初始化操作。上面我們創建a1 = A("hello")時,但首先調用的是 __ new __ ;初始化一個類分為兩步:
a.調用該類的new方法,返回該類的實例對象
b.調用該類的init方法,對實例對象進行初始化。
__new__ (cls, *args, **kwargs)至少需要一個cls參數,代表傳入的類。後面兩個參數傳遞給 __ init __ 。在 __ new __ 可以決定是否繼續調用 __ init __ 方法,只有當 __ new __ 返回了當前類cls的實例,才會接著調用 __ init __ 。結合 __ new __ 方法的特性,我們可以通過重寫 __ new __ 方法實現Python的單例模式:
可以看到雖然創建了兩個對象,但兩個對象的地址相同。
2、控制屬性訪問這類魔法
方法主要對對象的屬性進行訪問、定義、修改時起作用。主要有:
__getattr__(self, name): 定義當用戶試圖獲取一個屬性時的行為。
__getattribute__(self, name):定義當該類的屬性被訪問時的行為(先調用該方法,查看是否存在該屬性,若不存在,接著去調用getattr)。
__setattr__(self, name, value):定義當一個屬性被設置時的行為。
當初始化屬性時如self.a=a時或修改實例屬性如ins.a=1時本質時調用魔法方法self. __ setattr __ (name,values);當實例訪問某個屬性如ins.a本質是調用魔法方法a. __ getattr __ (name)
3、容器類操作
有一些方法可以讓我們自己定義自己的容器,就像Python內置的List,Tuple,Dict等等;容器分為可變容器和不可變容器。
如果自定義一個不可變容器的話,只能定義__ len__ 和__ getitem__ ;定義一個可變容器除了不可變容器的所有魔法方法,還需要定義__ setitem__ 和__ delitem__ ;如果容器可迭代。還需要定義__ iter __。
__len__(self):返回容器的長度
__getitem__(self,key):當需要執行self[key]的方式去調用容器中的對象,調用的是該方法
__setitem__(self,key,value):當需要執行self[key] = value時,調用的是該方法
__iter__(self):當容器可以執行 for x in container:,或者使用iter(container)時,需要定義該方法
下面舉一個例子,實現一個容器,該容器有List的一般功能,同時增加一些其它功能如訪問第一個元素,最後一個元素,記錄每個元素被訪問的次數等。
這類方法的使用場景主要在你需要定義一個滿足需求的容器類數據結構時會用到,比如可以嘗試自定義實現樹結構、鏈表等數據結構(在collections中均已有),或者項目中需要定製的一些容器類型。
魔法方法在Python代碼中能夠簡化代碼,提高代碼可讀性,在常見的Python第三方庫中可以看到很多對於魔法方法的運用。
因此當前這篇文章僅是拋磚引玉,真正的使用需要在開源的優秀源碼中以及自身的工程實踐中不斷加深理解並合適應用。
⑻ Python中執行系統命令常見的幾種方法
作為膠水語言,Python可以很方便地執行系統命令,從而幫助我們快速的完成任務;而且Python執行系統命令可採用的方法有很多,本文重點介紹一下:os.system()、os.popen()和subprocess模塊。
1. os.system()
這個方法直接調用標准C的system()函數,僅僅在一個子終端運行系統命令,而不能獲取執行返回的信息。
>>> import os
>>> output = os.system('cat /proc/cpuinfo')
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>> output # doesn't capture output
0
2. os.popen()
這個方法執行命令並返回執行後的信息對象,是通過一個管道文件將結果返回。
>>> output = os.popen('cat /proc/cpuinfo')
>>> output
>>> print output.read()
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>>
3. subprocess模塊
該模塊是一個功能強大的子進程管理模塊,是替換os.system, os.spawn*等方法的一個模塊。
>>> import subprocess
>>> subprocess.Popen(["ls", "-l"]) # python2.x doesn't capture
output
>>> subprocess.run(["ls", "-l"]) # python3.x doesn't capture
output
>>> total 68
drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents
drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads
... ...
>>>
⑼ Python字典創建、基本操作以及常用方法
創建一個空字典自需要一對大括弧即可,從已有的鍵-值對映射或關鍵字參數創建字典需要使用 dict 函數(類)
把一個列表轉為字典,列表的每一項都是長度為2的序列。
還可使用 關鍵字實參 (**kwargs)來調用這個函數,如下所示:
字典的基本操作與序列十分相似:
字典與序列的不同:
方法 clear 刪除所有的字典項(key-value)。
復制,得到原字典的一個新副本。
效果等同於調用 dict(d) 創建新字典。
() 執行的是 淺復制 ,若字典的值是一個可變對象,那麼復制以後,相同一個鍵將關聯到同一個對象,修改該對象,將同時修改兩個字典。
模塊中的函數deep 可執行深復制。
方法fromkeys 創建一個新字典,其中包含指定的鍵,且每個鍵對應的值都是None,或者可以提供一個i額默認值。
方法get 為訪問字典項提供了寬松的環境。通常,如果你試圖訪問字典中沒有的項,將引發錯誤,而get直接返回None,或者可設置默認返回值。
當字典中不存在指定鍵時, setdefault(k,v) 添加一個指定鍵-值對;且返回指定鍵所關聯的值。
這三個方法返回值屬於一種名為 字典視圖 的特殊類型。字典視圖可用於迭代。另外,還可確定其長度以及對其執行成員資格檢查。
這三個方法自大的特點是不可變,當你的介面試圖對其他用戶提供一個只讀字典,而不希望他們修改的時候,這三個方法是很有用的;而且當原字典發生改變時,這些方法返回的對象也會跟著改變。
方法 pop 可用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除。
popitem隨機刪除一個鍵-值對,並返回一個二維的元組 (key, value) ,因為字典是無序的,所以其彈出的順序也是不確定的。
書上說,這個方法在大數據量時執行效率很高,但沒有親測。
方法update 使用一個字典中的項來更新另一個字典。
⑽ python字元串常用方法
python字元串常用方法
1. Python字元串拼接(包含字元串拼接數字)
2. Python截取字元串(字元串切片)
3. Python 的len()函數:獲取字元串長度或位元組數
4. Python split()方法:分割字元串
5. Python join()方法:合並字元串
6. Python count()方法:統計字元串出現的次數
7. Python find()方法:檢測字元串中是否包含某子串
8. Python index()方法:檢測字元串中是否包含某子串
9. Python字元串對齊方法(ljust()、rjust()和center())
10. Python startswith()和endswith()方法
11. Python字元串大小寫轉換(3種)函數
12. Python去除字元串中空格(刪除指定字元)的3種方法