python中def fun 定义函数列表_python函数

# -*- coding:utf-8 -*-

#yys

#python 3.7.2

# 1.定义函数、调用函数

# 函数:组织好的、可重复使用的、用户实现单一或者关联功能的代码段。

# 函数能够提高应用的模块性和代码的重复利用率。

# Python提供了很多内置的函数,比如len等等,

# 另外也可以根据自己的业务需求进行用户自定义函数的创建。

# 1.1 函数的定义规则

# 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

# 任何传入参数和自变量必须放在圆括号中间。

# 函数的第一行语句可以选择性地使用文档字符串---用于存放函数说明。

# 函数内容以冒号起始,并且缩进。

# 语法如下:

# def 函数名([参数列表]): #参数列表可选项

# 函数体

def f1():

print("good night")

def f2(x1,x2):

x3=x1+x2

print("函数体内部")

return x3

f1()#调用函数

# good night

x=f2(1,2)

print(x)

#函数体内部

#3

# 1.2 调用函数

# Python内置了很多函数,内置函数可以直接调用。

# 调用一个函数需要知道函数的名称和函数的参数。

# 语法:

# 函数名([参数列表])

# 函数名其实就是指向一个函数对象的引用,完全可以把函数名赋值给一个变量,相当于给这个函数起了一个别名

list1=[2,3,4,5,6]

a=len #变量a指向len函数

print(a(list1))

# 5

# 2.函数参数

# 2.1 形参和实参的概念

#def定义的函数中参数是形参(形式参数),函数调用传入的是实参(实际参数)

#定义函数

def fun0(Name):#Name为形参

print("hello"+Name)

#调用函数

fun0('yys')#yys为实参

# helloyys

# 2.2 针对形参、实参进一步分类有 :

# 函数参数分类

# 2.2.0必备参数

# 函数定义中允许拥有多个形参,因此函数在调用的时候,也可能包含多个实参。

#这些必须要传入函数的参数即必备参数;(不传入就会报错)

# 向函数传递参数的方式有很多,通过实参和形参的顺序对应,这就是位置实参。

# 只有位置一致,才能被正确匹配。位置实参是最简单也最常用的关联方式。( (arg1, arg2), 注意数量和顺序)

def fun1(a): #必备参数

print('必须传参数') #'调用:fun1(a)必须传参数

# 2.2.1 默认参数

# 函数定义的时候,设置的参数是形参。那么也可以给每个形参指定一个默认值。

# 当调用函数时,如果没有传入实参,就使用形参的默认值。

# 如果调用的时候传入了实参,那么程序将使用传入的实参,有默认值的放右边。

#即参数可传可不传,即可指定;当不传入参数是,该参数为之前指定的参数;

def fun2(a=3): #参数可传可不传,可指定

print(a,'默认参数')

fun2()

# 2.2.2关键字参数(关键字实参)

# 关键字实参是传递给函数的名称 = 值对。

# 直接在实参中将名称和值关联起来,因此向函数传递实参时不会混淆。

# 函数调用使用关键字参数来确定传入的值。

# 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值.

def fun3(pet1,pet2):

print(pet1,pet2)

fun3(pet1="猫猫",pet2="狗狗")

# 猫猫 狗狗

# 2.2.3 不定长参数

# 你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。

#第一种不定常参数函数

def fun4(*arg): #结果都包装成元祖; (传0个或者0个以上的参数)

print(arg)

fun4(1,2,3,4) # (1, 2, 3, 4)

# 第二种不定常参数函数

def fun5(**kwarg): #参数可传可不传, 结果包装成字典; (传0个或者0个以上的参数)

print(kwarg,'可传可不传')

fun5()#{} 可传可不传

fun5(a="字典1") #注意实参的第一个为变量,形式为变量=value的形式

# {'a': '字典1'} 可传可不传

fun5(a="字典1",b="字典2")# #注意实参的第一个为变量,形式为变量=value的形式

# {'a': '字典1', 'b': '字典2'} 可传可不传

fun5(**{'c':1,'d':2,"4":4}) #加两个* 号,可以传递字典作为参数。键必须是字符类型。

# {'c': 1, 'd': 2, '4': 4} 可传可不传

dict1={1:2}

print(dict1)

# {1: 2}

#2.2.4 混合参数1

def fun6(e,f=1): #必备参数必须放在前面,否则报错

print(e+f)

fun6(e=2,f=3)

# 5

fun6(e=6)

# 7

fun6(9,10)

# 19

fun6(12)

# 13

# 2.2.5 混合参数函数2

# 要点,

# 定义的时

你可能感兴趣的:(python中def,fun,定义函数列表)