Python函数/动态参数/关键字参数
1.函数
#函数语法:
#函数名规范:小谢字母开头,不同字母下划线隔开(字母数字下划线)
#def 函数名():
#函数体:希望函数做的事情
1.1.无参函数
#无参函数
def music():
print("唱着又没动听的歌声...")
#调用函数
music()
1.2.有参函数
#有参函数
def zgl_music(name): #形参
print("{0}唱着又没动听的歌声...".format(name)) zgl_music("诸葛亮")#传参:实参 #有参函数-默认参数
def speak(name,yy="中文"):
print("{0}说着{1}".format(name,yy))
speak(name="刘备")#刘备说着中文
speak("关于","阿拉伯语")#关于说着阿拉伯语
1.2.1.请把1-100的整数相加和的功能,写成一个函数
#请把1-100的整数相加和的功能,写成一个函数
def jia(sum1,sum2):
#判断sum1<sum2
if sum1<sum2:
sum = 0
for item in range(sum1,sum2+1):
sum = sum+item
print("{0}到{1}之间数字相加的结果为:{2}".format(sum1,sum2,sum))
else:
print("输入错误!") jia(1,100)
1.3.return
reruen #返回函数结果
#返回a与b的和
def sum(a,b):
return a+b #将结果返回 sum = sum(1,2)#返回的结果赋值给另一个变量
print(sum)# 3
1.3.1.无参无返
#无参无返
def sum1():
print("这是个无参无返的函数")
#调用函数
sum1()
1.3.2.有参无返
#有参无返
def sum2(a,b):
print(a+b)
#调用函数
sum2(2,3)
1.3.3.无参有返
#无参有返
def sum3():
return 10
#调用函数
sum3()
1.3.4.有参有返
#有参有返
def sum4(a,b):
return a+b
#调用函数
sum4(5,5)
1.3.5.写一个函数,检查传入列表的长度,如果大于2,那么保留前两个长度的内容,并将新内容返回
def new_list(lists):
if len(lists)>2:
return lists[0:2] a=[1,2,3,4]
print(new_list(a))
1.4.动态参数/不定长参数 *args ☆ ☆ ☆
#动态参数/不定长参数
def sum(*args): #*args arguments
print(args)#('张三', '李四', '王五', '麻六') 元组
print("张三:{0}".format(args[0]))
print("李四:{0}".format(args[1]))
print("王五:{0}".format(args[2]))
print("麻六:{0}".format(args[3])) sum("张三","李四","王五","麻六")
1.4.1.动态参数练习
#动态参数求两个数的和
#第一种
def sum1(*a):
return a[0]+a[1] print(sum1(8,9)) #第二种
def sum2(*args):
sum = 0
for item in args:
sum += item
return sum print(sum2(2,3))
1.4.1.1.补充1
#第一种
def sum2(*args,a):
sum = 0
for item in args:
sum += item
print("a = {0}".format(a))
return sum print(sum2(2,3,a=1))
输出:
a = 1
5
1.4.1.2.补充2
#第二种
def sum2(a,*args):
sum = 0
for item in args:
sum += item
print("a = {0}".format(a))
return sum print(sum2(2,3,4,5,6))
输出:
a = 2
18
1.5.关键字参数 key-value **kwargs ☆ ☆ ☆
#关键字参数 key-value **kwargs
def kw_sum(**kwargs):# key=value
print(kwargs) a={"name":"张三"}
kw_sum(k=1,y=2,m=3) #{'k': 1, 'y': 2, 'm': 3}
Python函数/动态参数/关键字参数的更多相关文章
- [python 函数学习篇] 关键字参数
函数可以通过 关键字参数 的形式来调用,形如 keyword = value .例如,以下的函数: def parrot(voltage, state='a stiff', action='voom' ...
- Python——函数的命名关键字参数
命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数.至于到底传入了哪些,就需要在函数内部通过kw检查. 仍以person()函数为例,我们希望检查是否有city和job参数: ...
- python函数 位置参数,关键字参数,可变参数优先级
def fun(arg,args=1,*arg,**keywords): python 一共有这四类参数,第一类最常见,不用多说,第二类,关键字参数,python能通过关键字找到参数,python函数 ...
- Python——函数中的关键字参数
关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看 ...
- python函数中的关键字参数
关键字参数: 就是在形式参数中必须要提供”传递参数名=传递参数值” 位置参数: 仅仅只有参数名 特点:1.位置参数只能出现在关键字参数之前,不管是在行参还是实参中. 2.关键字参数在调用时(实参)中 ...
- Python函数的定义、参数传入与函数的调用
作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...
- Python星号*与**用法分析 What does ** (double star/asterisk) and * (star/asterisk) do for parameters? 必选参数 默认参数 可变参数 关键字参数
python中*号**的区别 - CSDN博客 https://blog.csdn.net/qq_26815677/article/details/78091452 定义可变参数和定义 list 或 ...
- python 函数动态参数,名称空间,global,nonlocal
##################################总结######################################动态参数 *args:位置参数动态传参,接收到的是元 ...
- python 函数 动态参数 和嵌套
1.动态参数 是可以接收任意的参数.一种方式, 1,位置的动态传参, 写法是: *参数名 接收的参数是tuple类型举个例子:def yue(*food): print(food)yue(" ...
- python函数动态参数详解
Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组. def func (*args): print(args) func(123,1,2,'a') ...
随机推荐
- 天天向上力量B
N=eval(input()) up=pow(1+0.001*N,365) down=pow(1-0.001*N,365) print("{:.2f}, {:.2f}, {:.0f}&quo ...
- PAT (Basic Level) Practice 1031 查验身份证 分数 15
一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...
- PAT (Basic Level) Practice 1025 反转链表 分数 25
给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4,则输出应该 ...
- 原生js的懒人轮播图
<style> body{ margin: 0; padding: 0px;}#carousel{ margin: auto; /* 居中 */ width: 600px; /* 设置宽度 ...
- The project was not built due to "Could not delete '/XXX/WebRoot/WEB-INF/classes/library'.". Fix the problem, then try refreshing this project and building
在构建插件时提示如下错误: Description Resource Path Location Type The project was not built due to "Could n ...
- KubeEdge SIG AI发布首个分布式协同AI Benchmark调研
摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...
- Mysql主从配置步骤与各种错误
测试环境: 2台腾讯云服务器.CentOS 7.2 64位,1G,lnmp. PHP:5.6:Mysql:5.5 两台干净的服务器 下面开始配置主服务器(master) 1.修改配置: log-bi ...
- 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
优化一个分布式系统的吞吐能力,除了应用本身代码外,很大程度上是在优化它所依赖的中间件集群处理能力.如:kafka/redis/rabbitmq/postgresql/分布式存储(CephFS,Juic ...
- HashMap基本使用方法
HashMap Map集合基于 键(key)/值(value)映射.每个键最多只能映射一个值.键可以是任何引用数据类型的值,不可重复:值可以是任何引用数据类型的值,可以重复:键值对存放无序. Hash ...
- ES6 学习笔记(四)基本类型Number
1.数值 1.1 .JavaScript数值的特点 不区分整数值和浮点数值. 所有数值均用浮点数值表示. 采用IEEE-754标准定义的64位浮点数格式表示. 整数在实际操作时(如数组索引),则是基于 ...