Python複習

                                   函數的定義python

def 函數名([參數列表,可選]):git

函數的調用dom

函數名([參數列表,可選])函數

 

函數的參數ui

形參對象

定義函數時,函數的參數名稱叫作形式參數排序

實參字符串

調用函數時,函數的參數名稱叫作實際參數input

 

函數的默認參數必須從右到左it

def fun(x,y=100):

    print x,y

若是沒有傳入參數y值,則y默認爲100;若是賦值給y則按照賦值運行

 

函數的局部變量

只能在程序的特定部分使用的變量爲函數的局部變量

例子

#!/usr/bin/python

def fun():

    x = 1

    y = 1

    print locals()    //定義爲內部變量

fun()    //且須要調用函數後才能正確的聲明變量,如不調用則未執行

print locals()    //返回一個字典

 

函數的全局變量

在一個文件頂部定義的變量可供文件中的任何函數調用,這些變量稱爲全局變量

例子1

#!/usr/bin/python

x = 100

def fun():

    global x    //將局部變量聲明爲全局變量

    x += 1

fun()    //且須要調用函數後才能正確的聲明變量,如不調用則未執行

 

函數的返回值

函數被調用後會返回一個指定的值,默認返回None;能夠使用return指定返回值,返回值能夠爲任意類型,return後函數終止

 

函數的多類型傳值

例子

def fun(x,y):

    print x + y

t = (1,2)

fun(*t)便可將元祖中的元素傳到函數中處理

 

 

高階函數

容許將函數自己做爲參數傳入另外一個函數;容許返回一個函數。容許返回一個函數。

 

map()函數

map的第一個參數爲自定義函數,第二個參數爲自定義可迭代對象

例子

#定義一個函數f2求平方,使用map函數,求list1的值的平方,list1平方規則按照f2函數執行,返回結果類型爲list。

list1 = [1, 2, 3, 4, 5,]

def f2(x):

    return x*x 

list2 = map(f2, list1)

print type(list2)

print list2

 

reduce()函數

必須接收兩個參數,最多接收三個參數。

例子

#定義一個函數f求和,使用reduce函數,求list1相加的值,再加20。list1相加規則按照f函數執行,先執行1+2,再用1+2的值與3相加,以此類推

list1 = [1, 2, 3, 4, 5,]

def f(x, y):

    return x+y

print reduce(f,list1,20)

 

filter()函數

會將可迭代對象元素傳入,若是返回true則保留,若是返回false則不保留元素

例子:

a = [1, 2, 3, 4, 5, 6, 7]

def f(x):

    return x%2 == 1

b = list(filter(f,a))

#python3.5.1須要將filter轉換爲list再進行輸出

print (b)

 

sorted()函數

能夠針對全部的可迭代對象進行排序,返回一個新的list

使用方法:

sorted(...)  

    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

cmp:有兩個參數,參數的值都是從可迭代對象中取出,此函數的規則:大於返回1,小於返回-1,等於返回0

key:具體的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素進行排序

reverse:判斷是否反轉,默認狀況下不反轉

例子

dic1 = {'Q':7, 'W':8, 'E':9}

print(dic1)

for key, value in dic1.items():

    print(key, value)

d = sorted(dic1.items())

print(d)

 

匿名函數

不須要顯示定義的函數,沒有名字的函數

例子

def f2(x,y):

    return x+y

等於

c = lambda x1,y1:x1+y1

print(c(4,5))

例子

def build(x2, y2):

    return lambda: x2 * x2 + y2 * y2

 

lambda函數

使用方法:

 

#!/usr/bin/python
r = lambda x,y:x*y
r(3,5)

reduce函數

使用方法:

 

經常使用內建函數

callable函數

使用方法:

callable(函數,變量)

 

type函數

使用方法:

type(函數,變量,列表)

 

a.lower()   將a字符串統一轉換爲小寫

a.upper()   將a字符串統一轉換爲大寫

a.startswith('a')    判斷是否以字符串a爲開頭

a.split()    默認按照空格對字符串進行分割成列表

a.join

 

raw_input()    從鍵盤獲取輸入

 

range(0,10,1)    生成一個從0-9步長爲1的列表,開始和步長可省略

 

open函數

 須要注意w方式打開,會覆蓋源文件

 

fd = open('/work/python/1.txt')

fd.read()    一次性讀取文件內容,返回字符串

fd.readline()        一行一行的讀取文件內容,返回字符串

fd.next()    一行一行的讀取文件內容,返回字符串

fd.readlines()    讀取文件內容,並將每一行內容存到list中每一行是list中的一個元素

 

random.randint(1,20)    隨機生產一個1-20的整數

 

locals()   看函數調用位置,如在函數中則返回整個函數中有哪些變量;若是在程序中則返回程序中有哪些變量;返回類型爲字典

 

a.isdigit()   判斷a序列是否爲純數字,若是爲從純數字返回True,若是不是返回False

相關文章
相關標籤/搜索