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函数/动态参数/关键字参数的更多相关文章

  1. [python 函数学习篇] 关键字参数

    函数可以通过 关键字参数 的形式来调用,形如 keyword = value .例如,以下的函数: def parrot(voltage, state='a stiff', action='voom' ...

  2. Python——函数的命名关键字参数

    命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数.至于到底传入了哪些,就需要在函数内部通过kw检查. 仍以person()函数为例,我们希望检查是否有city和job参数: ...

  3. python函数 位置参数,关键字参数,可变参数优先级

    def fun(arg,args=1,*arg,**keywords): python 一共有这四类参数,第一类最常见,不用多说,第二类,关键字参数,python能通过关键字找到参数,python函数 ...

  4. Python——函数中的关键字参数

    关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看 ...

  5. python函数中的关键字参数

    关键字参数: 就是在形式参数中必须要提供”传递参数名=传递参数值” 位置参数:  仅仅只有参数名 特点:1.位置参数只能出现在关键字参数之前,不管是在行参还是实参中. 2.关键字参数在调用时(实参)中 ...

  6. Python函数的定义、参数传入与函数的调用

    作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...

  7. Python星号*与**用法分析 What does ** (double star/asterisk) and * (star/asterisk) do for parameters? 必选参数 默认参数 可变参数 关键字参数

    python中*号**的区别 - CSDN博客 https://blog.csdn.net/qq_26815677/article/details/78091452 定义可变参数和定义 list 或 ...

  8. python 函数动态参数,名称空间,global,nonlocal

    ##################################总结######################################动态参数 *args:位置参数动态传参,接收到的是元 ...

  9. python 函数 动态参数 和嵌套

    1.动态参数 是可以接收任意的参数.一种方式, 1,位置的动态传参, 写法是: *参数名 接收的参数是tuple类型举个例子:def yue(*food): print(food)yue(" ...

  10. python函数动态参数详解

    Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组. def func (*args): print(args) func(123,1,2,'a') ...

随机推荐

  1. 天天向上力量B

    N=eval(input()) up=pow(1+0.001*N,365) down=pow(1-0.001*N,365) print("{:.2f}, {:.2f}, {:.0f}&quo ...

  2. PAT (Basic Level) Practice 1031 查验身份证 分数 15

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  3. 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,则输出应该 ...

  4. 原生js的懒人轮播图

    <style> body{ margin: 0; padding: 0px;}#carousel{ margin: auto; /* 居中 */ width: 600px; /* 设置宽度 ...

  5. 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 ...

  6. KubeEdge SIG AI发布首个分布式协同AI Benchmark调研

    摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...

  7. Mysql主从配置步骤与各种错误

    测试环境: 2台腾讯云服务器.CentOS 7.2 64位,1G,lnmp. PHP:5.6:Mysql:5.5 两台干净的服务器 下面开始配置主服务器(master) 1.修改配置:  log-bi ...

  8. 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践

    优化一个分布式系统的吞吐能力,除了应用本身代码外,很大程度上是在优化它所依赖的中间件集群处理能力.如:kafka/redis/rabbitmq/postgresql/分布式存储(CephFS,Juic ...

  9. HashMap基本使用方法

    HashMap Map集合基于 键(key)/值(value)映射.每个键最多只能映射一个值.键可以是任何引用数据类型的值,不可重复:值可以是任何引用数据类型的值,可以重复:键值对存放无序. Hash ...

  10. ES6 学习笔记(四)基本类型Number

    1.数值 1.1 .JavaScript数值的特点 不区分整数值和浮点数值. 所有数值均用浮点数值表示. 采用IEEE-754标准定义的64位浮点数格式表示. 整数在实际操作时(如数组索引),则是基于 ...