Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >函数基础,函数返回值,函数调用的3中方式,形参与实参

函数基础,函数返回值,函数调用的3中方式,形参与实参

作者头像
小小咸鱼YwY
发布于 2019-07-24 08:07:13
发布于 2019-07-24 08:07:13
2.1K00
代码可运行
举报
文章被收录于专栏:python-爬虫python-爬虫
运行总次数:0
代码可运行

5.29自我总结

一.函数基础

1.什么是函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
在程序中,函数是具有种功能功能的工具

2.函数的两个阶段

1.函数的定义

a)有参函数定义

在函数定义阶段括号内有参数,称为有参函数。需要注意的是:定义时有参,意味着调用时也必须传入参数。

如果函数体代码逻辑需要依赖外部传入的值,必须得定义成有参函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def 函数名(param1、param2……x=9): #其中paraml1与param2为函数的需要填入的值,x为默认参数
    '''对于函数的描述'''
    函数功能的描述信息
    :param1:描述
    :param2:描述
    :return:返回值   #return除了返回值的作用还结束进程的作用,不会再接着往下运行
    
#定义的时候def内的代码块他只会检测代码的语法,语法错误会报错,不会运行里面的代码.

b)无参函数

在函数阶段括号内没有参数,称为无参函数。需要注意的是:定义时无参,意味着调用时也无需传入参数。

如果函数体代码逻辑不需要依赖外部传入的值,必须得定义成无参函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def func():
    print('hello nick')
    
func()  # hello nick

c)空函数

当你只知道你需要实现某个功能,但不知道该如何用代码实现时,你可以暂时写个空函数,然后先实现其他的功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def func():
    pass
2.函数简单调用

a)有参函数的调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def函数名(param1、param2……)) #默认参数可以不用填写,如果填写将覆盖原来参数值

b)无参函数的调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func()

c)空函数的调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func()

二.函数的返回值

为函数返回给的值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def Than_the_size(num_1,num_2):
    if num_1>num_2:
        print(num_1)
    else:
        print(num_2)
print(Than_the_size(3,2))
#这时我们终端看到的是None应为我们没有返回值,print打印只是给终端看的并没有返回值给函数,所有我们看不到值.
#我们把print换成return
def Than_the_size(num_1,num_2):
    if num_1>num_2:
        return num_1  #return可以返回任何数据类型,但是只能返回一个
    else:
        return num_2
print(Than_the_size(3,2))
#这时候我们看到的返回的值是3,return是把值返还给函数并且停止函数下面的运行.

三.调用函数的三种方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def max_self(x,y):   
    if x>y:
        return x
    else:
        return y
    
# 1.
max_self(1,2)
# 2.
res = max_self(1,2)*12
# 3.
max_self(max_self(20000,30000),40000)

四.形参和实参

1.形参

在函数定义阶段括号内定义的参数,称之为形式参数,简称形参,本质就是变量名。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def func(x, y,z=10,d=9): #其中X,y为位置形参,z为默认形参,x,y,z都为形参
    print(x)
    print(y)

2.实参

在函数调用阶段括号内传入的参数,称之为实际参数,简称实参,本质就是变量的值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func(1,2,z= 30)  #其中1,2为实参,z为关键字实参
func(1,2,30) #其中 1,2,30为实参
注意事项
  1. 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边。
  2. 可以混用位置实参和关键字实参,但不能对一个形参重复赋值。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func(1,2, y=2)
func(y=2, 1,2)  # SyntaxError: positional argument follows keyword argument
func(1,2,x, x=1)  # NameError: name 'x' is not defined

3.快速导入一串实参的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def func(x, y,z=10,d=10):
    print(x)
    print(y)
    print(z)
    print(d)
words_list = [1,2,3,4,5,6,7]
words_tuple = [1,2,3,4,5,6,7]
func(*words_list)
func(*words_tuple)
#TypeError: func() takes from 2 to 4 positional arguments but 7 were given
#导入的值的数量不能超过他形参的数量
def func(x, y,z=10,d=10):
    print(x)
    print(y)
    print(z)
    print(d)
words_list = [1,2,3,4]
words_tuple = [1,2]
word_str = '11'
words_dict = {'z':2,'d':10}
func(*words_list)   #将里面的元素安装从左往右全部以位置实参填入
func(*words_tuple)
func(*word_str)
func(*words_dict) #是以key填入
#成功打印,顺序是从左往右一一填入,位置实参可以以列表,元祖,字典,字符串形式填入
def func(x, y,z=10,d=10):
    print(x)
    print(y)
    print(z)
    print(d)
words_list = [1,2,3,4]
words_tuple = [1,2]
words_dict = {'z':2,'d':10}
func(*words_list,**words_dict)   
#func(*words_tuple)
#TypeError: func() got multiple values for argument 'z',会报错
def func(x, y,z=10,d=10):
    print(x)
    print(y)
    print(z)
    print(d)
words_list = [1,2,3,4]
words_tuple = [1,2]
words_dict = {'z':2,'d':10}
#func(*words_list,**words_dict)   
func(*words_tuple,**words_dict)
#正常打印,且字典里的键值对对应默认形参填入,写法是**+字典
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 注解+参数+返回值小结
这篇文章偏记录类型,不是写的很细。我先说一下什么是注解,就是参数类型的显化操作,而且会给Python赋予一些静态语言的特性。
云深无际
2021/07/23
1.1K0
Python 注解+参数+返回值小结
python基础知识总结(小白福利来了)……人生苦短,我用python
python基础知识总结(小白福利来了)……人生苦短,我用python
Java架构师必看
2021/07/19
6100
第3章 python 函数与文件操作
有参:需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
py3study
2020/01/07
2930
挑战30天学完Python:Day11 函数
注意啦!从本篇开始将上难度了,并且会逐渐运用之前所学的基础知识,所以可能需要花120%的精力。希望大家不要遇难而退,坚持住未来一定会感谢现在持续学习的自己。另外由于也会开始提供练习题的参考答案,获取方式可以入学习群交流获取,或者等耐心等待答案篇。
MegaQi
2023/10/21
2090
挑战30天学完Python:Day11 函数
day11(函数参数,函数对象,打散机制
一,复习 # 什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 函数的优点: # 1.减少代码的冗余 # 2.结构清晰,可读性强 # 3.具有复用性,开发效率高,维护成本低 # 如何定义一个函数:用def关键词来声明函数 ''' def fn(参数列表): 函数体 return 函数的返回值 ''' # -- 定义函数时,函数体不会被执行 | 函数必须先定义后使用 # 函数的四部分: # 函数名:存放着函数的地址,是调用函数
py3study
2020/01/17
5450
Python3.0科学计算学习之函数
函数允许程序的控制在不同的代码片段之间切换,函数的重要意义在于可以在程序中清晰地分离不同的任务,将复杂的问题分解为几个相对简单的子问题,并逐个解决。即“分而治之”。
py3study
2020/01/16
1.3K0
Python3.0科学计算学习之函数
Python3 与 C# 基础语法对比(Function专栏)
汇总系列:https://www.cnblogs.com/dunitian/p/4822808.html#ai
逸鹏
2018/06/13
5750
Python3 与 C# 基础语法对比(Function专栏)
[C语言] 函数实参与形参详解
实参(实际参数)是在函数调用时传递给函数的值或表达式。它们是函数执行所需的具体数据。在调用函数时,实参被放置在函数名后面的括号内,实参可以是变量、常量,或者更复杂的表达式。
DevKevin
2024/10/12
2510
Python基础学习(二)
函数是对程序逻辑进行结构化或是过程化的一种编程方法,其是组织好的,可重复使用的,用来实现单一,或者相同功能的代码段。
py3study
2020/01/17
7230
【Python系列】5. 函数与变量作用域
一、函数 函数:有一定功能的代码块 函数作用:提高利用率(重复使用)、封装(模块化) 语法 def 函数名(参数列表): 函数体(代码块) 调用 函数名(参数) 分类
用户9914333
2022/07/22
3320
函数基础之函数定义至函数的参数笔记
默认形参:1、如果不给它传值,它就会使用默认值,如果调用的时候给它传值它就会使用默认值。2、默认形参必须放在位置形参后面。
GH
2022/05/10
3830
Python Day3
#如果是windows平台一般还要加上一个小r,意思是取消路径中/的转义功能(不用写//了) #默认t,指的是文本文件,文本里面存放的是字符,因此涉及到字符编码,如果不指定使用什么字符编码打开就按默认操作系统默认编码打卡,windows默认GBK f=open(r'a.txt','r',encoding='utf-8') #读 #这一步说明发送了一个请求给操作系统,把某个文件已什么字符编码打开,同时还拿到了一个变量f
py3study
2020/01/03
5530
函数基础
假设现在你是下水道工,如果你事先准备好你的工具箱,等你接到修理下水道的工作的时候,你直接把你的工具箱拿过去直接使用就行了,而不需要临时准备锤子啥的。
py3study
2020/01/15
3100
Python基础07-函数
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
2730
python 学习第二周总复习
如果l2是l1的拷贝对象,则l1内部的任何数据类型的元素变化,则l2内部的元素也会跟着改变,因为可变类型值变id不变
py3study
2020/01/15
4080
Python3 与 C# 基础语法对比(Function专栏-新排版)
在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master
逸鹏
2018/07/23
1.3K0
Python3 与 C# 基础语法对比(Function专栏-新排版)
Python基础之函数参数与返回值进阶
参数作用:如果外界希望在函数内部处理数据,就可以将数据作为参数传入函数内部; 返回值作用:如果希望一个函数函数执行完成后,向外界报告函数的执行结果,就可以使用函数的返回值。
py3study
2020/01/16
1.3K0
第四章--第一节:函数
从本节课开始,我们就进入到了高级编程的阶段,这个阶段有两节课:函数 和 类。本节要将的是 函数 相关的知识。
喵叔
2020/09/08
2950
C语言入门基础学习函数?来看我就告诉你!
在前面我们已经讲过了一些简单的函数,如程序的主函数main()、标准输出函数printf()。在C语言中,大多数功能都是依靠函数来实现的。But,你知道什么是函数吗?我猜你肯定不知道。
诸葛青云
2018/09/10
5510
Python的正则表达式
Python的内置的函数 round() a = 1.12586 #保留小数的函数,四舍五入,参数为保留小数点后的位数 print(round(a,2)) 快速查看内置函数功能:命令行直接输入python,进入RPEL,使用help()函数 >>> help(round) Help on built-in function round in module builtins: round(...)
ZONGLYN
2019/08/08
4420
相关推荐
Python 注解+参数+返回值小结
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文