欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python函数的定义和使用教程

发布时间:2025/3/20 python 25 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python函数的定义和使用教程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
def test(x): # x代表形参'''2*x+1:param x:整形数字:return:返回计算结果'''y = 2*x+1return y p = test(3) # test()表示运行名为test函数,3代表实参,给x进行赋值 print(p)

函数的定义:

  • def: 表示函数的关键字
  • 函数名: 函数的名称, 根据函数名调用函数
  • 函数体: 函数中进行一系列的逻辑计算
  • 参数: 为函数执行完毕后, 可以给调用者返回数据

一. 为什么要用函数?

  • 减少代码量
  • 保持一致性
  • 易维

二. 函数的参数

函数有三种不同的参数:

  • 普通参数

定义函数

# name 叫做函数func的形式参数,简称:形参def func(name):print name# ######### 执行函数 ######### # 'wupeiqi' 叫做函数func的实际参数,简称:实参func('wupeiqi')
  • 默认参数
''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''def func(name, age = 18):print "%s:%s" %(name,age)# 指定参数func('wupeiqi', 19)# 使用默认参数func('alex')

注:默认参数需要放在参数列表最后

  • 动态参数 *args
def func(*args):print args# 执行方式一func(11,33,4,4454,5)# 执行方式二li = [11,2,2,3,3,4,54]func(*li)
  • 动态参数 **kwargs
def func(**kwargs):print args# 执行方式一func(name='wupeiqi',age=18)# 执行方式二li = {'name':'wupeiqi', age:18, 'gender':'male'}func(**li)

三. 函数的变量

函数的变量可分为 全局变量和局部变量

全局变量(大写)

定义:没有缩进的变量

局部变量(小写)

定义:子程序下定义的变量

''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' name = 'lhf' # 这里就指全局变量def change_name():name = '帅了一比' # 这里就指局部变量print('change_name', name)change_name() print(name) 结果 change_name 帅了一比 lhf

global和nolocal

global声明是全局变量,nolocal指定上一级变量

未声明全局变量

x = 99 def func():x = 88 func() print(x) #输出99

声明全局变量

''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' x = 99 def func()global xx = 88 func() print(x) #输出88

未指定上一级变量

def func():count = 1def foo():count = 12foo()print(count) func() #输出1

指定上一级变量

def func():count = 1def foo():nonlocal countcount = 12foo()print(count) func() #输出12

global声明是全局变量,nolocal指定上一级变量

未声明全局变量

''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' x = 99 def func():x = 88 func() print(x) #输出99

声明全局变量

x = 99 def func()global xx = 88 func() print(x) #输出88

未指定上一级变量

def func():count = 1def foo():count = 12foo()print(count) func() #输出1

指定上一级变量

''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' def func():count = 1def foo():nonlocal countcount = 12foo()print(count) func() #输出12

四. 递归函数

ps: 用的好的都是大牛~

就是函数自己调用自己

特性:

  • 必须有一个明确的结束条件,

  • 每次进入深一层递归时,问题规模都应有所减少

''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''def calc(n):print(n)if int(n / 2) == 0:return n # 当上面的条件成立后一个真值,返回到函数res = calc(int(n / 2)) print(n,res) return res # 返回res的值,要将真值一层一层传递回去calc(10)

五. lamabda匿名函数

lambda用法,冒号之前的是入参,冒号之后的是表达式,返回的值,最简单的函数

print [(lambda x:x*x)(x)for x in range(11)] #结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] print (lambda x:x*x)(3) #结果:9 g=lambda x:x*x print g(4) #结果:16

总结

以上是生活随笔为你收集整理的Python函数的定义和使用教程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。