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. [题解] Atcoder Regular Contest ARC 148 A B C E 题解

    点我看题 题目质量一言难尽(至少对我来说 所以我不写D的题解了 A - mod M 发现如果把M选成2,就可以把答案压到至多2.所以答案只能是1或2,只要判断答案能不能是1即可.如果答案是1,那么M必 ...

  2. 基于Netty的TCP服务框架

    19年写的一个基础的TCP服务框架,内置了一个简单IOC容器,当时的目标是一方面能作为组件供第三方集成实现TCP通讯相关功能,另一方面作为提供一种服务框架范式.所以框架核心点主要还是通过适度的封装,隐 ...

  3. 汇编指令:lea

    lea指令变种(按大小分类): leaw #2个字节 leal #4个字节 leaq #8个字节 lea的用法: leaq a(b, c, d), %rax 首先lea指令是mov指令的变种,据说,l ...

  4. 实例分析Scheduled Thread Pool Executor与Timer的区别

    摘要:JDK 1.5开始提供Scheduled Thread PoolExecutor类,Scheduled Thread Pool Executor类继承Thread Pool Executor类重 ...

  5. List接口中的常用方法

    void add(int index, Object ele):在index位置插入ele元素boolean addAll(int index, Collection eles):从index位置开始 ...

  6. Annocation(注解)的使用示例

    示例一:生成文档相关的注解示例二:在编译时进行格式检查(JDK内置的三个基本注解)@Override: 限定重写父类方法, 该注解只能用于方法@Deprecated: 用于表示所修饰的元素(类, 方法 ...

  7. 9. RabbitMQ系列之消息发布确认

    Publisher Confirms发布确认是用于实现可靠发布的RabbitMQ扩展. 我们将使用发布确认来确保已发布的消息已安全到达代理.我们将介绍几种使用publisher确认的策略,并解释其优缺 ...

  8. SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog

    TLog能解决什么痛点 随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候.因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难. ...

  9. vue-router(路由嵌套)

    文章目录 1.项目结构 2.路由嵌套 3.界面(使用elementui) 4.效果展示 1.项目结构 2.路由嵌套 import Vue from 'vue' import Router from ' ...

  10. C语言------结构体和共用体

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3.源代码及运行截图 4 .小结 1 .实训名称 实训8:结 ...