Python之函数参数
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 7 09:13:50 2018 @author: zhen
"""
# 默认参数,必须在参数定义末尾
def mrcs(name, sex, age=18):
print(name, sex, age) print('*'*15+'默认参数'+'*'*15)
mrcs('liming','man')
mrcs('wangli', 'woman', 23)
print('='*15+'命名参数'+'='*15)
# 命名参数
def mmcs(name, sex, age):
print(name, sex, age) # 传统参数
mmcs('zhangsan', 'man', 34)
# 命名参数
mmcs(name='lisi', sex='man', age=12)
# 组合使用时传统参数必须按照参数定义的顺序
mmcs('bibi', age=23, sex='woman')
# mmcs(age=23, 'bibi', sex='woman') : SyntaxError: positional argument follows keyword argument print('-'*15+'可变参数'+'-'*15)
# 可变参数,元组
def kbcs(name, sex, age, *args):
print(name,sex,age)
print(args) # 不向args传参
kbcs('lili', 'woman', 18)
# 传入单个参数
kbcs('lili', 'woman', 18, 'beautiful')
# 传入多个参数
kbcs('lili', 'woman', 18, 'beautiful', 'fradom', 2018) print('+'*10+'键值对类型的可变参数'+'+'*10)
# 键值对类型的可变参数,字典
def kb2cs(name, sex, age, **kwargs):
print(name,sex,age)
print(kwargs) # 不向args传参
kb2cs('kk', 'man', 21)
# 传入单个参数
kb2cs('kk', 'man', 21, character='childhood')
# 传入多个参数
kb2cs('kk', 'man', 21, character='childhood', hobby='free', birthyear=2013) print('^'*15+'综合使用'+'^'*15)
# 综合使用,默认参数,命名参数,可变参数和键值对类型的可变参数
def comprehensive(name, sex='nan', *args, **kwargs):
print(name, sex, args, kwargs) # SyntaxError: positional argument follows keyword argument :命名参数和键值对类型的可变参数不能同时使用,会产生歧义
# comprehensive('liming', sex='man', 'student', 23, hobby='flying', idle=4)
comprehensive('liming', 'man', 'student', 23, hobby='flying', idle=4)
print('*'*37)
结果:
Python之函数参数的更多相关文章
- (转)python中函数参数中如果带有默认参数list的特殊情况
在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]): for i in range(x): ...
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
- Python基础-函数参数
Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...
- Python之函数&参数&参数解构
1.1函数定义 def 函数名(参数列表): 函数体(代码块) [return 返回值] p 函数名就是标识符,命名要求一样 语句块必须缩进,约定4个空格 Python的函数没有return语句,隐式 ...
- Python 可变长度函数参数
func( *tuple_grp_nonkw_args, **dict_grp_kw_args ) 在编程的过程中,我们可能会遇到函数参数个数不固定的情况.这时就需要使用可变长度的函数参数来实现我们的 ...
- python中函数参数
默认参数注意点 优点:灵活,当没有指定与形参对应的实参时就会使用默认参数 缺陷: 例子: >>> def h(m, l=[]): #默认参数时列 ...
- 对Python中函数参数类型及排序问题,三个方面的总结
Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...
- 第5.2节 Python的函数参数收集
函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...
- python的函数参数传递方式
python的一切数据类型都是对象.但是python的对象分为不可变对象和可变对象.python的变量是引用,对python变量的赋值是引用去绑定该对象. 可变对象的数据发生改变,例如列表和字典,引用 ...
- python 使用函数参数注解
使用函数参数注解是一个很好的办法,它能提示程序员应该怎样正确使用这个函数. 函数注解只存储在函数的annotations 属性中
随机推荐
- .Net 特性 attribute 学习 ----自定义特性
什么是特性? [Obsolete("不要用无参构造函数",true)] 放在方式上, 该方法就不能使用了 [Serializable]放在类上面.该类就是可以序列化和反序列化使用 ...
- 底部导航栏-----FragmentTabHost
[说明] 1.主界面上添加父容器:FragmentTabHost 属于v4兼容包 需要指定该id为android:id/tabhost,不能修改,表示由android系统来托管这个id. 本身是一个F ...
- SQL server 表信息查询
一.查看所有表的行数select a.name as '表名',b.rows as '表数据行数'from sysobjects a inner join sysindexes bon a.id = ...
- Video/Audio禁止快进(退)
首先接着上个随笔.上个随笔主要介绍了视频音频的相关操作.属性和方法.这里主要记录一个应用:禁止快进(快退同理). 思路:监听快进事件(此处是监听播放时间更新),利用一个缓存的时间和播放到的时间进行对比 ...
- 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker
SuperBenchmarker 是ㄧ个开源的类似于Apache ab的压力测试命令行工具.可以在 .NET 4.52+ 或者 .NET Core 2.0+ 平台上运行. 可支持Get.Post.Pu ...
- 跨平台数据库工具Azure Data Studio
Azure Data Studio是一种跨平台数据库工具,适用于在Windows,MacOS和Linux上使用Microsoft系列内部部署和云数据平台的数据专业人员.Azure Data Studi ...
- ReactNative之结合具体示例来看RN中的的Timing动画
今天继续更新RN相关的博客.上篇博客详细的聊了RN中关于Flex布局的相关东西,具体请参见<ReactNative之参照具体示例来看RN中的FlexBox布局>.本篇博客继续更新RN的动画 ...
- Linux 虚拟网络设备 veth-pair 详解,看这一篇就够了
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 前面这篇文章介 ...
- 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上)
为了介绍使用ASP.NET Core构建GraphQL服务器,本文需要介绍一下GraphQL,其实看官网的文档就行. 什么是GraphQL? GraphQL 既是一种用于 API 的查询语言也是一个满 ...
- Java实现单链表
真正的动态数据结构(引用和指针) 优点:真正的动态,不需要处理固定容量的问题. 缺点:丧失随机访问的能力. 链表就像寻宝,我们拿到藏宝图开始出发寻宝,每找到一个地方后,里面藏着下一步应该去哪里寻找.一 ...