网站首页 > 技术文章 正文
函数调用
普通函数
Python内置了很多有用的函数,我们可以直接调用。
要调用一个函数,需要知道函数的名称和参数,比如获取变量类型的type(),调用type函数如下:
>>> result = "字符串"
>>> print(type(result))
<class 'str'>
type函数不仅可以接收自定义变量,也可以接收自定义函数名。如下:
>>> def test():
>>> print(111)
>>> print(type(test))
<class 'function'>
也有python内置的函数可以接收任意多个参数的,那就是math,它可以返回任意参数中最大的值。如下:
>>> result1 = max(1, 2, 3)
>>> print(result1)
1
>>> result2 = max(10, 4, 5, 8, 9)
>>> print(result2)
10
1.2.数据转换
Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
自定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
普通函数
我们以自定义一个求绝对值的my_abs函数为例:
def my_abs(x):
if x >= 0:
return x
else:
return -x
print(my_abs(-100))
打印出来的值为:
100
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。举例子:
def my_abs(x):
return
print(my_abs(-100))
打印出来的值为:
None
尽快我们将自定义函数定义了最终的返回值类型,依然会返回None,举例子:
def my_abs(x) -> str:
return
print(my_abs(-99))
打印出来的值为:
None
自定义函数
如果我们想定义一个什么不都不做的函数,可以使用pass关键词来表示,举例子如下:
def test():
pass
print(test())
打印出来的返回值为:
None
返回多个值
函数可以返回多个值吗,答案是肯定的。举例子:
def point(x, y):
nx = x + 1
ny = y - 1
return nx, ny
re1, re2 = point(1, 2)
print("re1:{}=>re2:{}".format(re1, re2))
此时在自定义函数point函数体内return了2个返回值,返回值与返回值之间使用逗号隔开。
打印返回的值为:
re1:2=>re2:1
函数参数
位置参数
先写一个计算x2的函数:
def power(x):
return x * x
对于power(x)函数,参数x就是一个位置参数。
当我们调用power函数时,必须传入有且仅有的一个参数x:
>>> print(power(10))
100
默认参数
默认参数是指定义函数参数是,给与参数默认值,举列子:
def student(name, sex, age=6):
print('name:', name)
print('sex:', sex)
print('age:', age)
student("liyang", "man")
输出打印的内容为:
name: liyang
sex: man
age: 6
此时给予函数参数age默认值了。在调用函数的时候,只需要传输name,sex参数值即可。
递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
举个例子,我们来计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示,可以看出:
fact(n)=n!=1×2×3×···×(n-1)×n=(n-1)!×n=fact(n-1)×n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。
于是,fact(n)用递归的方式写出来就是:
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
re = fact(10)
print(re)
此时打印的内容为:
3628800
- 上一篇: 普通人如何利用python做自媒体赚收益
- 下一篇: 第二篇:使用 uv 管理 Python 项目
猜你喜欢
- 2025-05-22 副业兼职不同适合上班族的25个副业(上),每个做好都月入过万
- 2025-05-22 突破爬虫瓶颈:Python爬虫核心能力提升与案例实操
- 2025-05-22 超实用!这是我见过最全面的Python入门教程,新手不要错过免费送
- 2025-05-22 Python生成器入门:用“按需生产”思维处理海量数据
- 2025-05-22 用Python进行机器学习(16)-内容总结
- 2025-05-22 Python办公自动化系列篇之十:总结
- 2025-05-22 小学生Python编程入门-1.什么是编程?
- 2025-05-22 用Python开发日常小软件,让生活与工作更高效!附实例代码
- 2025-05-22 丢掉Excel,手把手教你用Python做可视化,还能调节动画丝滑度
- 2025-05-22 Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)