Python学习笔记之函数基础

Python学习笔记

**

目录
一、函数

1.引入
2.函数的定义
3.函数的格式
4.定义带有参数的函数
5.定义带返回值的函数

二、函数的参数

1.位置参数
2.关键字参数
3.默认参数
4.可变参数
(1)元组参数
(2)字典参数

三、函数文档注释
四、函数的嵌套及其调用

1.函数的嵌套
2.函数之间的调用

五、递归函数

一、函数
1.引用

如果要计算三个不同半径的圆的面积我们可以这么写:

r1=1
r2=2
r3=3
# 1.求r1的面积
s1=3.14 * r1 * r ** 2
print(s1)
s1=3.14 * r2 * r ** 2
print(s2)
s1=3.14 * r3 * r ** 2
print(s3)

为省去中间重复部分,我们可以使用函数来简化这一过程。

2.函数的定义

函数是组织好的,可重复使用的,用来实现独立功能的代码段。
函数可以提高程序代码的重用率。

3.函数的格式

不带参数和返回值函数def 函数名():…代码…
带参数的函数def 函数名(参数1,参数2,…):…代码…
-带参数和返回值函数--def 函数名(参数1,参数2,…):…代码…return 值-

注意
(1).函数名称必须遵循 标识符 规则 数字,字母,下划线,并且不能以数 字开头,不能使用关键字。
(2).函数先定义后调用。
(3).函数不调用是不执行的。
(4).函数可以调用多次

2.调用函数

def area():
	s = 3.14 * 3 ** 2
	print(s)
# 调用函数
area()

3.函数的本质

‘函数的本质是函数名对应的内存地址’

4.定义带有参数的函数

带参数的函数def函数名(参数1,参数2,…)代码

注意:.
(1)调用的时候,这个函数定义时有几个参数,就需要传递几个参数
参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
(2)定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”

5.定义带返回值的函数

所谓“返回值”,就是程序中函数完成的最后一件事后,最后给调用者的结果。调用者需根据返回值做不同的操作。

(1).返回多个值

返回多值其实就是返回一个tupe,在语法上返回一个tupe可以省略括号。

二、函数的参数

在python中函数参数的定义方式有一下4中方式。
1)位置参数
2)关键字参数:
3)默认参数:
4)可变参数(*args,**kwargs):

1.位置参数

def sum_2_num(num1,num2):
	total = num1 + num2
	print(total)

sum_2_sum(20,32)

2.关键字参数

# 3.关键字传递参数
def sum_2_num(num1,num2):
	total = num1 + num2
	print(total)

sum_2_num(num = 2,num1 = 32)

注意:关键字参数和位置参数同时使用时,关键字参数必须在位置参数后面定义。

def sum_num(num1,num2):
	print(num1,num2)
# 注意关键字参数必须在位置参数后面
sun_num(20,num=10)
sum_num(num1=20,10)# 报错

3.默认参数

是在我们定义参数时候,我们给形参一个默认值,在我们调用函数的时候,如果不给有默认值的形参传参,会自动采用默认值。
当某个值变化小的时候,我们就可以使用默认参数。

4.可变参数

如果函数中的参数过多,我们定义起来非常的麻烦,调用起来也非常的麻烦,因此python给我们提供了可变参数类型。能处理比当初声明时更多的参数,会将传入的参数变成元组(*args)或者字典(**kwargs)

(1)元组参数

通过给形参前面添加*使参数变成一个元组,所有传递的参数变成元组的元素
注意: args参数名称可以任意命名,但是一般我们叫他 args。

#6.元组参数
def func(*args):
	print(args):
	print(args[0],args[1])	# 获取元组中的元素
func(1,2,3,4)
#7.具有打散序列的功能
tup = (1,2,3,4)
print(*tup)
lst = [1,2,3,4]
print(*lst)
s1 = 'hello'
print(*s1)

	

(2)字典参数

通过给形参前面添加**使参数变成一个字典,所有传递的参数变成字典的键值对,这里传参要求键等于值的形式。
**kwargs结果类型是字典,传递值是以key=value方式传入

def func(**kwargs):
print(kwargs)
print(kwargs['name'],kwargs['age'],kwargs['gender'])
func(name='zs',age=10,gender='男')
# 具有打散字典的功能
def func(name='zs',age=10):
	print(name,age)

dic = {'name':'赵四','age':30}
func(**dic)

注意事项:**kwargs必须放在*args后面。

函数参数总结:
定义函数时参数的顺序: 位置参数,元组参数,默认参数,字典参数。

三、函数文档注释

在 函数的内部,使用 “”” 进行文档说明 “””
快速查看函数文档内容 快捷键 ctrl + q

四、函数的嵌套及其调用
1.函数的嵌套

def outter():
print('aaa')
	def inner():
		print('bbb')
		inner()	# 调用内部函数
outter()

2.函数之间的调用

def func():
print('func...')

def func2():
	func1()
	print('func2....')

func2()

五、递归函数

如果一个函数在内部调用自身本身,这个函数就是递归函数。
使用递归函数的条件:
1.必须留出口
2.自己调用自己

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值