python函数基础知识

函数的定义和调用

#函数的定义的格式

#def 函数名(参数[可选]):
	#功能代码的实现

#定义函数不会调用
def show():
	print("我叫张三丰,年龄18")


#调用函数
#函数名(参数)

#定义带有参数的函数
#name,age:形式参数(函数定义带有的参数叫形式参数)形参
def show_msg(name,age):
	print(name,age)

#调用带有参数的函数"张三",20:实际参数(实参)
show_msg("张三",20)

函数的四种类型

#无参数无返回值得函数
def show():
	#函数'体里面的代码执行完毕,返回到函数的调用出
	print("大家好,今天天气可冷了")

#函数调用
show()

#无参数有返回值的函数
def show():
	result = 10
	#带着数据返回到代码的调用处
	return result

value = show()
print(value)
#有参数无返回值的
def show(name,age):
	print("我叫:%s 年龄:%d" %(name,age))
show("张三",19)

#有参数有返回值的
def show_msg(name,age):
	msg = "我叫:%s 年龄:%d" %(name,age)
	return msg

result = show_msg("李四",40)
print(result)

调用顺序

#定义函数是不会执行函数体里面的代码
def shwo():
	print("哈哈")

print("呵呵")

shwo()
print("lll")
#总结:函数调用的时候会返回到函数的定义处,执行函数体里面的代码
#执行完毕,返回的调用处

全局变量

#全局变量:在函数外定义的变量叫做全局变量
#特点:全局变量可以在不同的函数里面使用
score = 100

def show():
	#定义了一个局部变量,只不过这个局部变量和全局变量的名字一样
    # score =99
	#修改全局变量
  global score#表示要对全局变量score修改数据
  score = 99
  print(score)


show()
print(score)

函数传参方式:

#调用函数的传参方式:1.使用位置传参2.使用关键字传参

def show(name,age):
	print(name,age)
	print("架架")
#使用位置参数方式传参:必修按照函数的参数顺序去传参
show("张三",18)
#positional argument:丢失了一个位置参数

#使用关键字方式传参
#使用关键字传参,可以不按照函数参数的顺序去传参
show(age=19,name="李四")
#前面使用关键字传参,后面使用位置传参(不可以的)
# show(age=19,"张三")
#前面使用位置传参,后面使用关键字传参可以使用
#关键字传参,必须放在最后
show("冯七",age=10)

不定长参数:

#函数的不定长参数:1.不定长位置参数2,不定长关键字参数

#不定参数:调用函数的时候不确定传入多少个参数
#可能是0个或者多个

#--------------不定长位置参数的定义及调用--------------
#*args代表不定长位置参数,约定俗称起的名字
def sum_num(*args):
	#提示:args:会把调用函数传入的位置参数封装到一个元组里面
	print(args,type(args))

	#计算结果变量
	result = 0
	for value in args:

		result += value
	return result


result = sum_num(1,2,3,4,6,8)
print(result)
# sum_num(a=1,b=2)

#------------不定长关键字子参数函数的定义及调用-------
#**kwargs 代表不定位置参数
def show_msg(**kwargs):

	print(kwargs,type(kwargs))

	for key,value in kwargs.items():

		print(key,value)

#调用不定长位置参数的函数
show_msg(a=1,b=2)
#使用位置参数的方式调用不定长关键字参数的函数
# show_msg(1,2)

# def pachong():
# 	#1.232323
# 	data = "asdasd"
# 	return data
#
#
# data = pachong()
# print(data)
#爬虫:只能抓取用户有权限能看见的数据

不定长位置参数的使用


#定义不定长位置参数
def show_msg(*args):
	#(1,2)
	print(args)

#定义不定长位置参数

def show(*args):
	# print(args,type(args))
	# (1,2)
	print(args)
	#解决办法:对元组进行拆包
	show_msg(*args)

	# show_msg(args)

show(1,2)

函数的参数的高级使用

def show_msg(name,age,*args,**kwargs):
	print(name,age,args,kwargs)

#不能使用下列方式调用,因为前面使用了关键字传参,后面不能使用位置传参
# shwo(name="李四",age=18,1,4,c=1,b=2)
# shwo("李四",20,1,2,3,4,a="苹果",b="香蕉")
#可不可以
def show(*args,name,age,**kwargs):
	print(args,name,age,kwargs)
#kwargs必须放置在后面(不定长关键字参数放置在后面)
show(1,2,name="李四",age=12,aa=1,bb=2)

    
#注意点:*后面的参数,必须使用关键字传参方式
def callAble(address,sex,*,name,age):
	print(address,sex,name,age)

#使用位置传参的方式调用函数
callAble("上海","男",name ="刘彦",age=20)



不定长关键字函数的使用


def show_msg(**kwargs):
	print(kwargs)


#定义不定长关键字函数
def show(**kwargs):
	print(kwargs)
	#使用了位置传参的方式调用函数
	# show_msg(a=kwargs)
	# 对字典进行拆包
	show_msg(**kwargs)


show(a=1,b=2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值