Python 函数/方法

函数是组织好的,可重复使用的,用来实现歹意,或相关联功能的代码段(块)

简单来说就是把一堆零散的代码放在一起并组织起来完成一个特定的任务

对齐一下几个描述:函数/方法/function(功能).

为什么需要函数

载体 函数编程模式,让电脑的运算/逻辑以函数的方式进行呈现

组织 函数将原有零散的代码根据功能进行组织

复用 对高频次使用的代码段(功能)进行重复使用

封装 基于功能进行封装,只需调用即可

清晰 提高整体代码本身的可读性

按需 需要的时候可即时调用

如何声明/调用一个函数

#def :声明函数的关键字
#my_function() : 代表函数功能
#my_function :函数名
def my_function():   
		#函数功能体-具体干活的代码
		print('hello python')
		result = 1+1
		#函数返回值(根据需要用。非必须)
		return result

#调用函数
#声明函数一定要在调用函数之前
my_function()

函数的参数

定义在函数中使用的变量叫传参
1、形式参数 参数的名字(类似变量名)
2、实际参数 该参数的具体值
3、位置参数 按照参数位置取值
4、关键字参数 就是一个标准的变量赋值的过程
5、默认参数 为函数预设的参数值
6、参数组 可变参数和可变关键字

# 1.firstname和lastname 就是形式参数
# 2.形参之间用逗号,分割
def add(firstname,lastname):
	full_name = firstname+lastname
	print(full_name)

#调用1
# 位置传参,受到位置限制,根据位置传入值
add('james','bond')

#调用2
# 关键字传参,不受位置影响,对应关键字传入参数调用,
add(firstname='james',lastanme='bond')


#参数组
'''
1.单星号开始
2.星号后跟一个关键字
3.args是一个约定俗称的命名
4.args可以自定义(不建议)
5.调用时传多值
6.*arg接收后全部转为元组
7.值打印或者return都是元组
8.*这里代表接收的参数数量不受限制(大于等于0)
9.*args支持不传值,输出为空元组
'''
def  my_funciton(*args):
	print(args)

#普通传参
my_function(1,2,3,4,5)

#结构类型传参,需要在变量名前加*号
list_data=[1,2,3,4]
my_funciton(*list_data)

#参数组和关键字参数混合
'''
1.如果要对调num,*args位置,num需要使用关键字传参数,否则不支持位参
2.注意如果有默认参数存在,取值的逻辑与关键字一致
3.如果默认参数在*args之后,使用位置参数赋值,这个就取不到值了,因为args吃了所有的数据,所以这种情况要使用关键字参数
'''
#1
def my_num(num,*args):
	print(num)
	print(args)

my_num(1,2,3,4,5)

输出:	1
		(2,3,4,5) 

#2
def my_num(num,num2=100,*args):
	print(num)
	print(num2)
	print(args)

my_num(1,2,3,4,5)

输出:	1
		2
		(3,4,5) 


#拥有两星的参数组 可变关键字参数

'''
1.双星号开始
2.双星号后跟关键字
3.kwargs是一个约定俗成的命名
4.kwargs可以自定义(不建议)
5.调用时 键值一起传
6.**kwargs接收后转为字典
7.值打印或者return都是字典
8.**这里代表接收的参数数量不受限制(大于等于0)
9.**kwargs支持不传值,输出为空字典
'''
def my_nums(**kwargs):
	print(kwargs)

my_num(a=1,b=2,c=3)

输出:{'a':1,'b':2,'c':3}


#全部参数混合使用

'''
1.如果可变参数和可变关键字参数同时出现,可变参数在前
2.可变关键字参数内key不能出现关键字参数现存名字
'''
def One_Pice(name,location,*args,date_time=2020,**kwargs)
	print("名称:",name)
	print("地点:",location)
	print("时间:",date_time)
	print("船员:",args)
	print("职位:",kwargs)

One_Pice('海贼王','东海','娜美','乌索普','山治','乔巴',船长='路飞',副船长='索隆')

#输出	
		名称:海贼王
		地点:东海
		时间:2020
		船员:('娜美','乌索普','山治','乔巴')
		职位:{'船长':'路飞','副船长':'索隆'}


#全部参数混合使用常规套路(仅供参考)

def ceshi(grade(位置参数),sex=‘男’(默认参数),*args(参数组),name(关键字参数)**kwargs(参数组) )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值