1. 程式人生 > >(5)python相關函式

(5)python相關函式

一、前言

因個人習慣,在閱讀和學習文字資料時,習慣摘寫筆記,因此在這裡留下自己的學習記錄。筆記的內容偏摘抄為主,並非自己的原創內容。

內容基於:《簡明 Python 教程》Swaroop, C. H. 著沈潔元  譯

二、函式

(1)定義

函式是重用的程式段,可以為該程式段命名,然後允許在程式的熱河地方通過函式名呼叫該程式段(即呼叫函式)。

函式可以分為兩類:內建函式(python自帶的)、自定義函式(自己編寫的,通過def關鍵字定義的函式)

(2)內建函式

python已經為我們寫好的,可以直接呼叫的函式。如:

1、input():獲取一個系統輸入並返回一個字串(python2中有區分input()和raw_input(),python3去掉raw_input(),若要達到python2的input效果,可用eval(input())代替);

例子:value = input('輸入提示語')  value是一個字串;value =(int)input('輸入提示語')  value整數

2、range():有三個引數(start,stop,step),start=起始數(預設預設為0)  stop=結束數(序列不包括結束數,不能預設)   step=步長(即增量,不填預設為1,必須為非0整數,否則拋異常ValueError)   序列為[start,start+step,start+2*step.........stop],一般配合for語句使用。

3、len():返回字串、列表、字典、元組等長度,引數為(字串、列表、字典、元組等變數),返回長度值,類似Java的length()、size()方法。

4、dir():列出模組中的所有識別符號(變數、函式、類),指定模組則返回指定模組,不指定模組則返回當前模組

5、rjust(寬度,填充字元):返回指定寬度的字串,右對齊,右邊長度不足有指定填充符填充;例:字串變數名.rjust(100,'*')

(3)自定義函式

參考Java的形式,格式為   關鍵字(def) + 識別符號(函式名) + 圓括號(指定引數)+ 冒號(:)    換行開始程式段

函式的引數用逗號分隔,呼叫時以同樣的方式供值,函式中的引數名稱為形參,供函式呼叫的值為實參

區域性變數:

在函式內宣告的變數,若與函式外的變數同識別符號,則兩者無任何關係。(作用域問題)

作用域:

變數的作用域是它們被定義的塊,始於被定以的邏輯行。

全域性變數:

函式內使用函式外的變數,操作的是函式外的變數(global關鍵字,類似於Java的this,須在變數使用前定義)。

允許指定同時多個全域性變數,變數用逗號分隔。global a,b,c

預設引數:

對於個別函式的引數,你希望它是可選的,即呼叫時不供值,則為函式提供預設的值。(只需在定義函式時,為相應引數賦值即可),注意:無預設值的形參必須在有預設值的形參前面(形參的定義順序)

關鍵引數:

定義:呼叫函式時,通過命名賦值為相應的形參供值。

優點:

1、可以忽略引數的順序(前提,呼叫函式時關鍵引數不能位於實參前面(傳統形式)),因為識別符號匹配(傳統是引數供值順序須與形參順序一致,從而匹配形參);例: func(c=100,2)這是錯誤的,除非2也是關鍵引數形式。

2、若所有形參都有預設值,我們可以只給需要的形參賦值。

pass:在python中表示一個空的語句塊。

三、特性

1、文件字串(DocStrings)

是一個重要的工具,在程式執行的時候,支援從函式恢復文件字串。

格式:三單引號的字串文字,一般寫一行、空一行、再在下一行繼續寫,作用是輸出函式說明,通過help(函式名)輸出DocStrings文字,或者  print  函式名.__doc__(左右兩個下劃線)列印指定函式的DocStrings文字。(一般用處不大,公共函式可以寫)

四、常用函式記錄

1、型別轉換相關

(1)str(object):將相應的資料型別轉成字串

(2)repr():將物件轉換為表示式

2、列表生成

(1)os.urandom(位數) :產生指定位數的隨機數(當然還可以指定隨機的型別,具體用法請自查)

(3)len(object):獲取序列個數(類java的size和length)

(4)rang(start,end,stud):獲取指定範圍隨機數值的列表

(5)type(object):獲取物件的型別

(6)input(“提示資訊”):獲取使用者系統輸入,等同python2的raw_input(),輸入均為轉為字串,python3去掉raw_input()

(7)eval('字串'):計算字串中的有效表示式,並返回一個物件

(8)dictObject.items():將字典返回可遍歷的元組列表(即列表的元素型別是元組)

五、一些具有特殊含義的變數

(1)__name__:當前模組名,當前程序執行則固定為__main__

(2)__init__:例項化物件前執行

(3)__del__:刪除例項前執行