请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
二、函数的声明和调用函数
自定义函数:
1、可以使用def关键字来创建Python自定义函数,其基本语法结构如下:

def 函数名(参数列表)
函数体
函数名() #调用函数

2、参数列表可以为空,即没有参数,也可以包含单个参数、多个参数、默认参
数、可变长参数、参数之间使用逗号分隔。

3、函数中无参数:
def func()
函数体
func() #调用函数

4、函数的三种调用方式
a、在本模块中调用 :
def dcs(a, b): print(a * b)dcs(2,3)
b、if __name__ == '__main__': 主函数调用
def dss(a, b): print(a * b)if __name__ == '__main__':    dss(2,3)

c、在其他模块中调用主函数的解释:
解释:
if __name__ == '__main__': 是函数的入口,也称为主函数
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ ,这句话的
意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,
代码块不被运行。

if __name__ == '__main__': from jqx import day4作业 day4作业.dcs(2,3)
from 项目包 import 项目包下的文件名
文件名.函数名(实参)


函数定义时:
1、调用函数有形参多少个,必须有多少个实参
2、带有默认值的形参,可以不赋予实参
3、带有默认值的形参,后面不能放形参,只能把默认值形参放在后面
4、默认值的形参一定要
   
可变长元组类型:
def dcs (*name): # 一个*输出为元组
        print (type(name))    #元组
print(name)
dcs(1,2,3)            #可变类型可以赋予实参,也可以不赋予实参

def dcs (*name,age):
print(name,age)
dcs('zhangsan',16,13)   报错  age没取到实参
①所以可以将*name 放到age后面 :
def dcs (age,*name):print(name,age)
dcs('zhangsan',16,13)
②也可以调用时指定形参=实参
def dcs (*name,age):print(name,age)
dcs('zhangsan',16,age=13)

可变类型字典:
def dcs (*name): # 一个**输出为字典
        print (type(name))    #字典
print(name)
1、可变长**字典类型 后面不能接普通形参  普通在前*元组在后面
2、可变长**字典与可变*元组同时出现,*元组在前面**字典在后面
当元组和字典同时出现时, 调用函数后面字典必须指定  键=键值 ,否则将被前面元组全部包含
例如:
def dcs (*name,**age):
print(name,age)
dcs('zhangsan',age='18,20')



全局变量、局部变量
1、在函数中也可以定义变量,在函数中定义的变量被称之为局部变量,局部变量
只在定义它的函数内部有效。
2、在函数体之外定义的变量,我们称之为全局变量。
3、将局部变量声明为全局变量 globe a



四、函数的返回值
Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值,
该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出
现多次,但只要有一个得到执行,就会直接结束函数的执行。
函数中,使用 return 语句的语法格式如下:
return [返回值]
其中,返回值参数可以指定,也可以省略不写(将返回空值 None)。

返回值的作用
1、在程序开发中,有时候会希望一个函数执行程序结束后,告诉
调用者一个结果,以便调用者针对具体的结果做后续的处理。
2、返回值是函数完成工作后,最后给到调用者的一个结果。
3、在函数中使用return关键字可以返回结果。
4、调用函数的一方可以使用变量来接收函数的返回结果。

def dcs1():     #定义函数
a=100        #局部变量
return a        #返回值  将具体结果赋予dcs1()函数
def dcs2():
a=dcs1     #接收dcs1的值
c=50
c+=a
print(a)
或者:def dcs2():   
c=50
c+=dcs1()  直接使用dcs1()的值
print(a)



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册