函数初识

本文深入探讨了Python中的函数定义与使用,包括函数的返回值、参数传递方式、动态参数的使用及符号*的功能,通过实例讲解如何创建和调用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/env python
# -*- encoding:utf-8 -*-
'''
def 关键字 函数名(设定与变量相同):
函数体
'''
#my_len()求长度函数
# def my_len(l):
# count=0
# for i in l:
# count+=1
# return count
# lens=my_len([1,2,3])
# print(lens)
#函数的返回值 return
#1,遇到return,结束函数。
# def func1():
# print(11)
# print(22)
# return
# print(333)
# print(444)
# func1()
#2,给函数的调用者(执行者)返回值。
'''无 return 返回None
return 不写 或者 None 返回None
return 返回单个数.
return 返回多个数,将多个数放在元组中返回。'''
s1='shejh'
# def my_len():
# count = 0
# for i in s1:
# count += 1
# return 666
# print(my_len(),type(my_len()))
# def my_len():
# count = 0
# for i in s1:
# count += 1
# return 666,222,count,'老男孩'
# print(my_len(),type(my_len()))
#返回多个数据的话,就会组成一个元祖类型
# def my_len():
# count = 0
# for i in s1:
# count += 1
# return 666,222,count,'老男孩'
# a,b,c,d=my_len()
# print(my_len())#元祖
# print(a,b,c,d)

#函数的传参
#实参角度
# 1.位置参数,一一对应,按照顺序
# def func1(x,y):
# print(x,y)
# func1(1, 2)
# 2.关键字参数,一一对应,不分顺序
# def func1(x,y):
# print(x,y)
# func1(x=2, y=1)
# 3.混合参数,一一对应,关键字参数必须放在位置参数后面
# def func1(x,y):
# print(x,y)
# func1(1,y=3)
#从形参角度
# 1.位置参数,一一对应,按照顺序
# 2. 默认参数,必须放在位置参数后面
# def register(name,sex='男'):
# with open('register',encoding='utf-8',mode='a') as f1:
# f1.write('{} {}\n'.format(name,sex))
#
# while True:
# username = input('请输入姓名:/q 或者 Q 退出')
# if username.upper() == 'Q':break
# if 'a' in username:
# sex = input('请输入性别:')
# register(username,sex)
# else:
# register(username)
#动态参数 *args,**kwargs 万能参数
# def func2(*args,**kwargs):
# print(args) # 元组(所有位置参数)
# print(kwargs)
# func2(1,2,3,4,5,6,7,11,'alex','老男孩',a='ww',b='qq',c='222')
# 位置参数,*args,默认参数
# def func3(a,b,*args,sex='男'):
# print(a)
# print(b)
# print(sex)
# print(args)
# func3(1,2,'老男孩','alex','wusir',sex='女')
# 位置参数,*args,默认参数,**kwargs
# def func3(a,b,*args,sex='男',**kwargs):
# print(a)
# print(b)
# print(sex)
# print(args)
# print(kwargs)
# func3(1,2,'老男孩','alex','wusir',sex='nv',name='alex',age=46)

#符号*的功能,定义是聚合,执行时打散
def func1(*args,**kwargs): # 函数的定义 * 聚合。
print(args)
print(kwargs)
# l1 = [1,2,3,4]
# l11 = (1,2,3,4)
# l2 = ['alex','wusir',4]
# func1(*l1,*l2,*l11) # 函数的执行:* 打散功能。
# func1(1,2,3,4,'alex','wusir',4,1,2,3,4) # 函数的执行:* 打散功能。
dic1 = {'name1':'alex'}
dic2 = {'name2':'laonanhai'}
func1(**dic1,**dic2)

转载于:https://www.cnblogs.com/lixiaoxuan/articles/8868533.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值