2019-05-11 Python第三次课程

Python学习

函数模块

  • 引入自己写的函数作为模块
#在”caculate函数“文件中定义”caculate“函数
def caculate(num):
    '''
    从1到num求和
    :param num: 加到的数
    :return: 求和
    '''
    sum=0
    for i in range(num+1):
        sum+=i
    return sum
#导入自己写的”caculate函数“模块并使用其中的”caculate“函数
import caculate函数
print(caculate函数.caculate(100))

函数参数

  • 必须参数
    必须参数必须正确的顺序传入,调用的时候必须和声明的时候保持一致
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
  • 关键字参数
    使用关键字参数可以允许调用时参数和声明时顺序不一致
    是否要显示指定参数(关键字),以方便自己阅读为目的
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
  • 默认参数
    缺省参数没有传入,默认值会生效
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

匿名函数 lambda表达式

  • 匿名函数 lambda表达式
res=lambda x,y:x*y
print(res(4,5))

之前曾经的:

store=[]
s="当当自营" if len(store)==0 else store[0]
print(s)
#当当自营

可以通过这个方法结合匿名函数简化下面代码
使用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("使用普通函数",cal(5,4))
print("使用lambda函数",calc(5,4))
#使用普通函数 20
#使用lambda函数 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)
#['我', '来到', '北京', '清华大学']

案例:三国词频统计

课件中有统计单词出现频率的案例

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 函数和函数式编程 5.1 引言函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数...
    VIVAFT阅读 4,531评论 0 5
  • 基于《Python语言程序设计基础(第2版)》 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 ...
    柄志阅读 27,611评论 4 44
  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 5,506评论 0 6
  • 函数 定义 python中定义函数要使用关键字def,语法格式如下。 此时,我们便可以在另一个脚本中调用该函数 参...
    苦海我目光流淌不成河阅读 3,146评论 0 1
  • 1.读完一本书《人生效率手册》2想好如何寻觅知己伴侣3,规划一下周一三件事
    持续输出者阅读 981评论 0 0