2019-05-11 Python第三次課程

Python學習

函數(shù)模塊

  • 引入自己寫的函數(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
#導入自己寫的”caculate函數(shù)“模塊并使用其中的”caculate“函數(shù)
import caculate函數(shù)
print(caculate函數(shù).caculate(100))

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

  • 必須參數(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
  • 關鍵字參數(shù)
    使用關鍵字參數(shù)可以允許調用時參數(shù)和聲明時順序不一致
    是否要顯示指定參數(shù)(關鍵字),以方便自己閱讀為目的
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
  • 默認參數(shù)
    缺省參數(shù)沒有傳入,默認值會生效
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表達式

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

之前曾經(jīng)的:

store=[]
s="當當自營" if len(store)==0 else store[0]
print(s)
#當當自營

可以通過這個方法結合匿名函數(shù)簡化下面代碼
使用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
    包含幾個字典的列表按照字典中的某個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中對文件右鍵選擇"copy relative path"可以復制文件路徑

jieba庫中文分詞

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

案例:三國詞頻統(tǒng)計

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 第5章 函數(shù)和函數(shù)式編程 5.1 引言函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段。函數(shù)...
    VIVAFT閱讀 1,097評論 0 5
  • 基于《Python語言程序設計基礎(第2版)》 第一部分 初識Python語言 第1章 程序設計基本方法 1.1 ...
    柄志閱讀 27,813評論 4 44
  • 要點: 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個“式” 模塊:如何使用模塊 面向對象編程:面向對象的概念、屬性、...
    victorsungo閱讀 1,707評論 0 6
  • 函數(shù) 定義 python中定義函數(shù)要使用關鍵字def,語法格式如下。 此時,我們便可以在另一個腳本中調用該函數(shù) 參...
    苦海我目光流淌不成河閱讀 462評論 0 1
  • 1.讀完一本書《人生效率手冊》2想好如何尋覓知己伴侶3,規(guī)劃一下周一三件事
    持續(xù)輸出者閱讀 162評論 0 0

友情鏈接更多精彩內容