自学Python-自定义函数

2025-10-07 05:10:41

1、用名词解释的形式来给他定义,你看十个教程可能有十个解释,但大体的意思就是,用代码来实现一个功能,减少代码的重复使用。

python的提供的函数称内置函数。

我们自己写的函数叫自定义函数,格式如下:

--------------------------------------

def 函数名(参数):


   函数体   
   return 值

----------------------------------------

自学Python-自定义函数

2、以 def 关键词开头,标志着自定义一个函数;

2)函数名自己起,最好是一些看了便知这是什么样功能的函数;以字母开头,中间不能有空格,不能有标点符号。

3)圆括号括起来的参数,用来传递参与运算的数据,参数可以没有,也可以有多个。

4)冒号,函数内容以冒号开始,换行缩进。就如同小说中某某人说:。

5)函数体里的代码就是你实现一个功能的思想。这些代码属局部作用域,只在此函数内有效。

6)return 后面跟你想要返回的值。可以不写return,相当于返回 None。

例如:

#定义求一个数平方的函数

--------------------

def squre(i):


   s=i*i
   return 

--------------------

自学Python-自定义函数

1、调用函数:函数名(参数)

自学Python-自定义函数

2、最好的方法是给函数实例化一个对象。

自学Python-自定义函数

1、理解形参和实参:

上例中的i,是个变量,叫形参。定义函数时的参数。

在函数被调用时的10,叫实参,调用函数时的参数。

这就像定义一个变量一样,i=10,函数在被调用时,按你传的参数运行。

自学Python-自定义函数

2、位置实参:定义函数时可以有多个形参。那么在调用函数时,也要传递对应数量的实参,而且位置按顺序对应。

#求三角形面积的函数:


--------------------

def triagle_area(b,h):


   s=b*h/2
   print("面积:",s)
triagle_area(6,8)

--------------------

输出:24.0

例子中的调用函数传递的实参6对应b,8对应h。

自学Python-自定义函数

3、关键字实参:

这种写法是为了避免对应的顺序出错。直接在实参中用赋值的形式,这样即使位置顺序不对,也不会出错;例如:

#求三角形面积的函数:

--------------------

def triagle_area(b,h):


   s=b*h/2
   print("面积:",s)
triagle_area(h=8,b=6)

--------------------

输出:24.0

注意:位置顺序可以变,不能把形参的名字搞错。

自学Python-自定义函数

4、默认参数:

在定义函数时直接给形参赋值,这个参数就是默认参数。

在不提供实参的情况下调用函数,函数会把默认的值当实参。

--------------------

def triagle_area(b=1,h=1):


   s=b*h/2
   print("面积:",s)
triagle_area(8)

--------------------

输出:4

这个例子里,8对应位置b,h是默认值1,所以结果是4。

自学Python-自定义函数

5、元组类型参数(一星参数):

写法是:在形参前面加一个星号。这个星号代表参数是个元组类型参数。

传入的参数可是1个2个,多个,甚至不传都可以。

自学Python-自定义函数

6、当一个函数有多个参数,要将一个元组中对象中的元素分别作为函数的参数时,需要将元组对象前加星号传递,

例如三个数相乘的函数

--------------------

num_tup=(6,5,4)


def numbers(x,y,z):
   xyz=x*y*z
   return xyz
#num=numbers(num_tup)
num=numbers(*num_tup)
print( num)

--------------------

输出:120

自学Python-自定义函数

7、字典类型参数(两星参数):

写法是:在形参前面加两个星号。这个星号代表参数是个字典类型参数。

传入的参数形式是多个 键=值,

例如:生成一个字典的函数:

--------------------

def make_dict(**d):


   print(d)
make_dict(x=1,y=2,z='master')

 --------------------

输出:{'x': 1, 'y': 2, 'z': 'master'}

自学Python-自定义函数

1、返回值:

返回值可以是python中的各种类型,初学时被搞糊涂的一个地方,在这里提一下:

--------------------

def nameMake_1(firstname):


   name_1=firstname+'建国'
   return name_1
a=nameMake_1('赵')
print(a,type(a))


def nameMake_2(firstname):
   name_1=firstname+'建国'
   name_2=firstname+'伟国'
   return name_1,name_2
b=nameMake_2('赵')
print(b,type(b))

--------------------

输出:

赵建国 <class 'str'>

('赵建国', '赵伟国') <class 'tuple'>

a的类型时字符串。

b的类型是个元组。

但在定义函数的时候并不是写的 return (name_1,name_2);

所以见到return后有多个用逗号隔开的值时,应该知道它是一个元组。

自学Python-自定义函数

2、函数中可以有多个return,但返回值只有一个return的返回值。

这自然就想到了if语句。选择符合条件的结果返回。

例如:

--------------------

def get_max(a,b):


   if a>b:
       return f'{a}最大'
   elif a<b:
       return f'{b}最大'
   else:
       return f'{a}等于{b}'
print(get_max(5,1))

--------------------

输出:5最大

自学Python-自定义函数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢