Python之函数-函数概念

Python之函数-函数概念

函数

数学定义

  • y=f(x) ,y是x的函数,x是自变量。y=f(x0, x1, ..., xn)

Python函数

  • 由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元
  • 完成一定的功能

函数的作用

  • 结构化编程对代码的最基本的封装,一般按照功能组织一段代码
  • 封装的目的为了复用,减少冗余代码
  • 代码更加简洁美观、可读易懂

函数的分类

  • 内建函数,如max()、reversed()等
  • 库函数,如math.ceil()等
  • 自定义函数,使用def关键字定义

函数定义

python 复制代码
def 函数名(参数列表):
	函数体(代码块)
	[return 返回值]
  • 函数名就是标识符,命名要求一样
  • 语句块必须缩进,约定4个空格
  • Python的函数若没有return语句,会隐式返回一个None值
  • 定义中的参数列表称为形式参数,只是一种符号表达(标识符),简称形参

函数调用

  • 函数定义,只是声明了一个函数,它不能被执行,需要调用执行
  • 调用的方式,就是函数名后加上小括号,如有必要在括号内填写上参数
  • 调用时写的参数是实际参数,是实实在在传入的值,简称实参
python 复制代码
def add(x, y):          # 函数定义 
	result = x + y      # 函数体 
	return result       # 返回值
ret = add(4,5)          # 函数调用,可能有返回值,使用变量接收这个返回值 
print(ret)              # print函数加上括号也是调用

# 返回结果:9

代码示例

python 复制代码
def add(x, y): # add 标识符,函数名,指向一个函数对象
	result = x + y # 函数逻辑
	return result  # return返回值
  • def关键字,define定义,定义时
  • (参数列表),参数列表中可以有n个参数(可以试0个),这些参数叫做形式参数。
  • 简称形参。形参也是标识符。
python 复制代码
add(4, 5)

# 调用add函数,传入4, 5的值
# 返回结果:9
python 复制代码
print(callable(add)) 

# callable返回True/False,确认此对象是否可以被调用
# 返回结果:True
python 复制代码
ret = add(4, 5) # 函数标识符后面加(),就是调用、执行called。调用时
print(ret)

# 返回结果:9
python 复制代码
add 

# 把一个函数打印出来,打印的内容是内存的0,1的展示方式,一般叫函数签名
# 返回结果:<function __main__.add(x, y)>
python 复制代码
def add(x, y):
    r = x + y
    return r

# 重新定义一个函数
python 复制代码
add(1, 2), add([1], [2]), add('a', 'b'), add(b'a', b'b'), add((1,), (2,)), add((1), (2))

# 这些值都能直接相加,但是要分清结果是什么
# 返回结果:(3, [1, 2], 'ab', b'ab', (1, 2), 3)
相关推荐
终极定律33 分钟前
qt:输入控件操作
开发语言·qt
明月清风徐徐39 分钟前
Miniconda + VSCode 的Python环境搭建
ide·vscode·python
JenKinJia1 小时前
Windows10配置C++版本的Kafka,并进行发布和订阅测试
开发语言·c++
煤炭里de黑猫1 小时前
Lua C API :lua_insert 函数详解
开发语言·lua
笨鸟笃行1 小时前
爬虫第七篇数据爬取及解析
开发语言·爬虫·python
编程乐趣1 小时前
一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略来了!
开发语言·c#
java1234_小锋1 小时前
一周学会Flask3 Python Web开发-response响应格式
开发语言·python·flask·flask3
Jelena157795857921 小时前
使用Java爬虫获取1688 item_get_company 接口的公司档案信息
java·开发语言·爬虫
大数据追光猿1 小时前
Python中的Flask深入认知&搭建前端页面?
前端·css·python·前端框架·flask·html5
java1234_小锋1 小时前
一周学会Flask3 Python Web开发-flask3模块化blueprint配置
开发语言·python·flask·flask3