Python基础之函数参数
一、实参
1、实参分类:

2、实参基础代码:
def fun01(a, b, c):
print(a)
print(b)
print(c) # 位置传参:实参与形参的位置依次对应
fun01(1, 2, 3) # 序列传参:用*将序列拆分后与形参的位置依次对应
fun01(*[4, 5, 6]) # 关键字传参:实参根据形参的名称进行对应
fun01(b=2, a=1, c=3) # 字典传参:用**将字典拆分后与形参的名字进行对应.
fun01(**{"b":20,"c":"cc","a":1.5}) # 默认参数
def fun02(a = 0, b = 0, c = 0):
print(a)
print(b)
print(c) # 不写参数,使用默认值.
fun02()
fun02(1)
fun02(*[2,3])
# 关键字传参 与 默认传参相结合,可以让调用者只传递自己需要的信息.
fun02(b = 20)
fun02(**{"c":"cc"})
3、示例练习:定义函数,根据天/小时/分钟,计算总秒数
def get_total_second(day=0, hour=0, minute=0):
return day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60 s01 = get_total_second(1, 1, 1)
s02 = get_total_second(1, 1)
s02 = get_total_second(hour=2)
二、形参:
1、形参分类:

2、形参基础代码:
# 默认参数
def fun02(a = 0, b = 0, c = 0):
print(a)
print(b)
print(c) # 不写参数,使用默认值.
fun02()
fun02(1)
fun02(*[2,3])
# 关键字传参 与 默认传参相结合,可以让调用者只传递自己需要的信息.
fun02(b = 20)
fun02(**{"c":"cc"}) # 位置形参
def fun01(a, b, c):
pass # 星号元组形参
def fun02(*args):
# 对于方法内部而言,就是元组
# 对于调用者而言,可以传递数量无限的位置实参.
print(args) # fun02()
# fun02(1)
# fun02(1,2,3,4) # 命名关键字形参:强制实参使用关键字传递.
# a,b 是命名关键字形参
def fun03(*, a, b):
print(a)
print(b) # b 是命名关键字形参
def fun04(*args, b):
print(args)
print(b) # fun03(a = 1,b = 2)
fun04(3, 44, 3, b =22) # 双星号字典形参
def fun05(**kwargs):
# 对于方法内部而言,就是字典,
# 对于调用者而言,可以传递数量无限的关键字实参.
print(kwargs) fun05(a=1, b=2) # 调用
def fun06(*args, **kwargs):
print(args)
print(kwargs) # 数量无限的位置实参,数量无限的关键字实参
fun06(1, 2, 3, 4, 5, a="a", b=1.5) def fun07(a, b, *args, c, d, **kwargs):
print(a)
print(b)
print(args)
print(c)
print(d)
print(kwargs) fun07(1, 2, 3, 4, 5, d="d", c="c")
fun07(1, 2, 3, 4, 5, d="d", c="c", e="ee")
fun07(1, 2, d="d", c="c") print(1,2,3,4,5) # 1 2 3 4 5
print(1,2,3,4,5,"#") # 1#2#3#4#5
3、示例练习:定义函数,整数相加的函数。
def add(*args):
sum = 0
for item in args:
sum += item
return sum re = add(1,2,3,4,45,43)
print(re)
4、自定义列表的排序函数
def sort(list_target):
# 传入的是可变类型
# 修改的是传入的对象
for r in range(len(list_target) - 1):
for c in range(r+1,len(list_target)):
if list_target[r] < list_target[c]:
list_target[r],list_target[c] = list_target[c], list_target[r] list01 = [2,4,4,5,6,7]
sort(list01)
print(list01)
5、英文单词反转,如: how are you -->you are how
def get_words_inversion(words):
list_words = words.split(' ')
list_words.reverse()
str_result = ' '.join(list_words)
return str_result words = 'how are you'
words = get_words_inversion(words)
print(words)
Python基础之函数参数的更多相关文章
- python基础之函数参数,名称空间,以及函数嵌套
函数进阶内容梗概: 1. 函数参数--动态传参 2. 名称空间, 局部名称空间, 全局名称空间, 作⽤用域, 加载顺序. 3. 函数的嵌套 4. gloabal , nonlocal 关键字 1. 函 ...
- python基础之函数参数、嵌套、返回值、对象、命名空间和作用域
函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误 ...
- Python基础之函数参数与返回值进阶
参数作用:如果外界希望在函数内部处理数据,就可以将数据作为参数传入函数内部: 返回值作用:如果希望一个函数函数执行完成后,向外界报告函数的执行结果,就可以使用函数的返回值. 函数的返回值 进阶 利用元 ...
- python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件
上节课总结 1.三元运算 name=“name1”if 条件 else “name2” 2.深浅拷贝 数字.字符串 深浅,都一样 2.其他 浅拷贝:只拷贝第一层 深拷贝:不拷贝最后一层 3.set集合 ...
- python基础知识06-函数基础和函数参数
函数基础和函数参数 可迭代对象:序列类型 range . 1.函数的定义 def 函数名(参数): pass return 表达式 ,不能是赋值语句.不写默认返回None.用逗号隔开返回一个元组. 函 ...
- python基础——匿名函数
python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...
- python基础——返回函数
python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...
- python基础——sorted()函数
python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...
- python基础——filter函数
python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
随机推荐
- C#使用RabbitMQ(转)
1. 说明 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地 ...
- 【easy】Number of Segments in a String 字符串中的分段数量
以空格为分隔符,判断一个string可以被分成几部分. 注意几种情况:(1)全都是空格 (2)空字符串(3)结尾有空格 思路: 只要统计出单词的数量即可.那么我们的做法是遍历字符串,遇到空格直接跳过, ...
- mysql-数据(记录)相关操作(增删改查)及权限管理
一.介绍 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查 ...
- Docker----搭建自己的gitlab(填坑之旅)
在成功完成docker的基础实验之后,尝试着使用docker搭建自己的gitlab,用来存放自己的代码.本文主要介绍使用docker搭建gitlab过程中遇到的问题,我的服务器系统是:Ubuntu S ...
- Bootstrap-datepicker3官方文档中文翻译---Event/事件(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
Events/事件 DatePicker在某些情况下触发一些事件.所有事件都拥有 传递给任何事件处理程序的 事件对象的 附加数据.(译者注:这里英语拗口,汉语也拗口,我用空格给大家断断句) ...
- 【微信小程序canvas】实现小程序手写板用户签名(附代码)
工作中公司业务需要的微信小程序用户签字功能 先看效果图: wxml: <view class="wrapper"> <view class="handB ...
- js监听用户思否在当前页面
(function () { var t var hiddenProperty = 'hidden' in document ? 'hidden' : 'webkitHidden' in docume ...
- DDD - 概述 - (一)
本片将介绍以下内容: 1).DDD是什么? 2).怎么使用DDD? 3).使用DDD应该规避或者注意什么? 一.DDD是什么? 简言之:领域驱动设计(domain driven design),顾名思 ...
- python re库的正则表达式学习笔记
1. 安装 默认已经安装好了python环境了 re库是python3的核心库,不需要pip install,直接import就行 2. 最简单的模式 字符本身就是最简单的模式 比如:'A', 'I ...
- unity打包exe中的资源管理
给美术和产品用unity做一些exe工具,会频频遇到导入导出资源的情况. 首先所有的文件应该放在StreamingAssets文件夹下, 如果需要动态替换贴图,这样美术只要替换default.png就 ...