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)
相关推荐
冷雨夜中漫步6 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴6 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再7 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
m0_736919108 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手8 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934738 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖9 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724610 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
肖永威10 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos