2019-05-11 Python第三次課程

Python學(xué)習(xí)

函數(shù)模塊

  • 引入自己寫(xiě)的函數(shù)作為模塊
#在”caculate函數(shù)“文件中定義”caculate“函數(shù)
def caculate(num):
    '''
    從1到num求和
    :param num: 加到的數(shù)
    :return: 求和
    '''
    sum=0
    for i in range(num+1):
        sum+=i
    return sum
#導(dǎo)入自己寫(xiě)的”caculate函數(shù)“模塊并使用其中的”caculate“函數(shù)
import caculate函數(shù)
print(caculate函數(shù).caculate(100))

函數(shù)參數(shù)

  • 必須參數(shù)
    必須參數(shù)必須正確的順序傳入,調(diào)用的時(shí)候必須和聲明的時(shí)候保持一致
def f (name,age):
    print('I am %s, I am %d years old'%(name, age))

f('arbon',18)
#I am a, I am 18 years old
def f (name,age):
    print('I am %s, I am %d years old'%(name, age))
f(18,'arbon')
#TypeError: %d format: a number is required, not str
  • 關(guān)鍵字參數(shù)
    使用關(guān)鍵字參數(shù)可以允許調(diào)用時(shí)參數(shù)和聲明時(shí)順序不一致
    是否要顯示指定參數(shù)(關(guān)鍵字),以方便自己閱讀為目的
def f (name,age):
    print('I am %s, I am %d years old'%(name, age))

f(age=18,name="arbon")
#I am arbon, I am 18 years old
  • 默認(rèn)參數(shù)
    缺省參數(shù)沒(méi)有傳入,默認(rèn)值會(huì)生效
def f(name,age,sex="male"):
    print("I am %s, I am %d years old, I am %s"%(name,age,sex))

f(name="angla",age=16)
#I am angla, I am 16 years old, I am male

匿名函數(shù) lambda表達(dá)式

  • 匿名函數(shù) lambda表達(dá)式
res=lambda x,y:x*y
print(res(4,5))

之前曾經(jīng)的:

store=[]
s="當(dāng)當(dāng)自營(yíng)" if len(store)==0 else store[0]
print(s)
#當(dāng)當(dāng)自營(yíng)

可以通過(guò)這個(gè)方法結(jié)合匿名函數(shù)簡(jiǎn)化下面代碼
使用lambda做判斷

def cal(x,y):
    if x>y:
        return x*y
    else:
        return x/y

calc=lambda x,y:x*y if x>y else x/y
print("使用普通函數(shù)",cal(5,4))
print("使用lambda函數(shù)",calc(5,4))
#使用普通函數(shù) 20
#使用lambda函數(shù) 20
  • 排序中使用lambda
    包含幾個(gè)字典的列表按照字典中的某個(gè)key排序
#排序中使用lambda
stus=[
    {"name":"a",'age':33},
     {"name":"b",'age':32},
      {"name":"c",'age':43},
       {"name":"d",'age':13},
        {"name":"e",'age':21}
]
print('before sorted:',stus)
res=sorted(stus,key=lambda x:x['age'])
print('after sorted:',res)
#before sorted: [{'name': 'a', 'age': 33}, {'name': 'b', 'age': 32}, {'name': 'c', 'age': 43}, {'name': 'd', 'age': 13}, {'name': 'e', 'age': 21}]
#after sorted: [{'name': 'd', 'age': 13}, {'name': 'e', 'age': 21}, {'name': 'b', 'age': 32}, {'name': 'a', 'age': 33}, {'name': 'c', 'age': 43}]

tips

  • pycharm中對(duì)文件右鍵選擇"copy relative path"可以復(fù)制文件路徑

jieba庫(kù)中文分詞

  • 分詞
txt='我來(lái)到北京清華大學(xué)'
seg_list=jieba.lcut(txt)
print(seg_list)
#['我', '來(lái)到', '北京', '清華大學(xué)']

案例:三國(guó)詞頻統(tǒng)計(jì)

課件中有統(tǒng)計(jì)單詞出現(xiàn)頻率的案例

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 第5章 函數(shù)和函數(shù)式編程 5.1 引言函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)...
    VIVAFT閱讀 975評(píng)論 0 5
  • 基于《Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第2版)》 第一部分 初識(shí)Python語(yǔ)言 第1章 程序設(shè)計(jì)基本方法 1.1 ...
    柄志閱讀 27,513評(píng)論 4 44
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍睢傩浴?..
    victorsungo閱讀 1,562評(píng)論 0 6
  • 函數(shù) 定義 python中定義函數(shù)要使用關(guān)鍵字def,語(yǔ)法格式如下。 此時(shí),我們便可以在另一個(gè)腳本中調(diào)用該函數(shù) 參...
    苦海我目光流淌不成河閱讀 444評(píng)論 0 1
  • 1.讀完一本書(shū)《人生效率手冊(cè)》2想好如何尋覓知己伴侶3,規(guī)劃一下周一三件事
    持續(xù)輸出者閱讀 149評(píng)論 0 0