专栏首页小一的数据分析之路Python入门基础教程-函数

Python入门基础教程-函数

作者:一叶

介绍:放不下灵魂的搬砖者

全文共1899字,阅读全文需8分钟

Python版本3.8.0,开发工具:Pycharm

Python函数

1> Python提供了许多内建函数,例如print()
2> 开发人员可以自己创建函数,这类函数叫用户自定义函数
  • 输入 —— 即,它能接收外部通过参数传递的值
  • 处理 —— 即,内部有能够完成某一特定任务的代码;尤其是,它可以根据 “输入” 得到 “输出”;
  • 输出 —— 即,它能向外部输送返回值。

01

内建函数

什么是内置函数? 就是python给你提供的,拿来直接⽤的函数, 比如print, input等等

1# Python官方文档中print函数
2print(*object, sep=' ', end='\n', file=sys.stdout, flush=False)
3
4# 解释 = 的参数。对参数不了解的可以先往下看参数介绍
5- sep=' ':接收多个参数之后,输出时,分隔符号默认为空格,' ';
6- end='\n':输出行的末尾默认是换行符号 '\n';
7- file=sys.stdout:默认的输出对象是sys.stdout(即,用户正在使用的屏幕)

「左右滑动查看更多」

即:print个函数中有若干个具有默认值的参数,即便我们在调用这个函数的时候,就算没有指定它们,它们也存在于此。

1# 调用print函数
2print('Hello', 'world!')
3# 等价于调用
4print('Hello', 'world!', sep=' ', end='\n', file=sys.stdout, flush=False)

「左右滑动查看更多」

02

自定义函数

> 函数代码块以def关键词开头,后接函数名称和圆括号 ()。
> 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
> 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
> 函数内容以冒号起始,并且缩进。
> return [表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

def 函数名(参数列表):
    函数体
    return 返回值

「左右滑动查看更多」

关于函数名称

11. 名称不能以数字开头。能用在名称开头的有,大小写字母和下划线 _;
22. 名称中不能有空格,要么使用下划线连接词汇,如:do_nothing,要么使用驼峰标识,如 :doNothing。推荐使用下划线do_nothing
33. 名称不能与关键字重合
4
5# 列出所有关键字
6keyword.kwlist               

「左右滑动查看更多」

创建一个自定义函数

 1# 定义函数
 2def printme( str ):
 3   # 打印任何传入的字符串
 4   print (str)
 5   return
 6
 7# 调用函数
 8printme("我要调用用户自定义函数!")
 9printme("再次调用同一函数")
10
11# 输出
12我要调用用户自定义函数!
13再次调用同一函数

「左右滑动查看更多」

03

函数参数

必需参数

必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

 1# 我是函数说明
 2def print_str(str):
 3   "打印传入的字符串"
 4   print(str)
 5   return
 6# 调用 print_str 函数
 7print_str("我是知秋小梦")
 8
 9# 输出
10我是知秋小梦

「左右滑动查看更多」

关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

 1# 
 2# 我是函数说明
 3def print_str(str):
 4   "打印传入的字符串"
 5   print(str)
 6   return
 7# 调用 print_str 函数,
 8print_str(str = "我是参数")
 9
10# 输出:
11我是参数

「左右滑动查看更多」

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。

 1# 我是函数说明
 2def printinfo( name, age = 35 ):
 3   "打印传入的字符串"
 4   print ("名字: ", name)
 5   print ("年龄: ", age)
 6   return
 7#调用printinfo函数
 8printinfo(age=50, name="zhangsan" )
 9print("------------------------")
10printinfo(name="lisi" )
11
12
13# 输出: 
14名字:  zhangsan
15年龄:  50
16------------------------
17名字:  lisi
18年龄:  35

「左右滑动查看更多」

不定长参数

一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数

 1#我是函数说明
 2def printinfo(arg1, *vartuple ):
 3   "打印传入的参数"
 4   print (arg1)
 5   print (vartuple)
 6# 调用printinfo 函数
 7printinfo( 70, 60, 50 )
 8
 9
10# 输出: 
1170
12(60, 50)

「左右滑动查看更多」

04

匿名函数

python 使用 lambda 来创建匿名函数。 lambda [arg1 [,arg2,…..argn]]:expression

注:

  • lambda 只是一个表达式,函数体比 def 简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。
  • lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
 1# lambda 的语法结构
 2lambda_expr ::= "lambda" [parameter_list] ":" expression
 3
 4# 下面是用 lambda 关键字写函数:
 5add = lambda x, y: x + y
 6add(3, 5)
 7
 8# 等价于自定义函数
 9def add(x, y):
10    return x + y
11add(3, 5)
12
13# lambda使用场景
14a_list = [1, 2, 3, 4, 5, 6]
15a_list
16
17b_list = list(map(lambda x: x * 2, a_list))
18b_list
19
20# 输出:
21[1, 2, 3, 4, 5, 6]
22[2, 4, 6, 8, 10, 12]

「左右滑动查看更多」

函数中注意参数和返回值,额外需要注意自定义函数名称不能与关键字相同,且Python函数可以返回多个不同类型的值。函数的使用可以减少很多重复代码,注意活学活用!
下节将介绍Python文件

学习Python,我们不只是说说而已

End

本文分享自微信公众号 - 知秋小梦(little_dream_2019),作者:一叶

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python入门高阶教程-高阶函数

    前面写的 Python 入门教程中只有基础入门和基础进阶两部分,可以在公众号下拉菜单中找到,小一我都已经分好类了。

    知秋小一
  • Python入门基础教程-流程控制

    在进行程序设计的时候,我们会经常进行逻辑判断,根据不同的结果做不同的事,或者重复做某件事,我们对类似这样的工作称为流程控制

    知秋小一
  • 《Hello NumPy》系列-数据类型与创建

    NumPy(Numerical Python 的简称)是高性能科学计算和数据分析的基础包,是 SciPy、Pandas 等数据科学的基础库,它所提供的数据结构比...

    知秋小一
  • shiny入门课【2.创建用户界面】

    titlePanel 和 sidebarLayout 是fluidPage中非常重要的两个组成部分, 他们用于创建带侧边栏的主页。

    用户2936342
  • python3 入门 (三) 函数与lambda表达式、闭包

    函数 是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆...

    欠扁的小篮子
  • 5.1Python函数(一)

    py3study
  • Python基础(06)函数

    一年一度的1024又来了,1024最初源自于一个论坛,他的回帖机制是,新用户发过帖之后,过1024秒之后才能再发一帖。

    PM小王
  • python基础-函数(9)

    如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数

    Se7eN_HOU
  • 2.Python函数的进阶

    昨天我们从形参角度,讲了两种参数,一个是位置参数,位置参数主要是实参与形参从左至右一一对应,一个是默认值参数,默认值参数,如果实参不传参,则形参使用默认参数。那...

    changxin7
  • python的这些小知识你注意到了吗?

    对文件进行操作的 opend 函数大家都很熟悉,但是你注意到它还有一种模式为 x 吗?

    小闫同学啊

扫码关注云+社区

领取腾讯云代金券