# -*- 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之函数参数的更多相关文章

  1. (转)python中函数参数中如果带有默认参数list的特殊情况

    在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]):     for i in range(x):         ...

  2. python中函数参数的引用方式

    值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...

  3. Python基础-函数参数

    Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...

  4. Python之函数&参数&参数解构

    1.1函数定义 def 函数名(参数列表): 函数体(代码块) [return 返回值] p 函数名就是标识符,命名要求一样 语句块必须缩进,约定4个空格 Python的函数没有return语句,隐式 ...

  5. Python 可变长度函数参数

    func( *tuple_grp_nonkw_args, **dict_grp_kw_args ) 在编程的过程中,我们可能会遇到函数参数个数不固定的情况.这时就需要使用可变长度的函数参数来实现我们的 ...

  6. python中函数参数

    默认参数注意点 优点:灵活,当没有指定与形参对应的实参时就会使用默认参数 缺陷: 例子: >>> def h(m, l=[]):                    #默认参数时列 ...

  7. 对Python中函数参数类型及排序问题,三个方面的总结

    Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...

  8. 第5.2节 Python的函数参数收集

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  9. python的函数参数传递方式

    python的一切数据类型都是对象.但是python的对象分为不可变对象和可变对象.python的变量是引用,对python变量的赋值是引用去绑定该对象. 可变对象的数据发生改变,例如列表和字典,引用 ...

  10. python 使用函数参数注解

    使用函数参数注解是一个很好的办法,它能提示程序员应该怎样正确使用这个函数. 函数注解只存储在函数的annotations 属性中

随机推荐

  1. ASP.NET Core 2 High Performance 目录和读书笔记

    ASP.NET Core 2 High Performance 大概的翻看了一下这本书,这本C# 7 and .NET Core 2.0 High Performance内容要好很多,这里先放出对应目 ...

  2. SpringIOC原理简述

    IOC:控制反转(Inversion of Control,英文缩写为 IOC) 简单来讲就是把代码的控制权从调用方(用户)转变成被调用方(服务端) 以前的代码控制权在调用方,所以要每当程序要更新修改 ...

  3. 免费下载获取Odoo中文实施 应用 指南 手册

    引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...

  4. 手机web——自适应网页设计(html/css控制)【转】

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="v ...

  5. AI - TensorFlow - 第一个神经网络(First Neural Network)

    Hello world # coding=utf-8 import tensorflow as tf import os os.environ[' try: tf.contrib.eager.enab ...

  6. 【Android Studio安装部署系列】十四、Android studio移除工程和删除项目

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio删除工程.项目的操作步骤. 移除工程 主要用于从最近打开的项目列表中移除.硬盘中还是存在这个项目的. F ...

  7. ToolbarDemo【Toolbar作为顶部导航栏的简单使用】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录ToolBar作为导航栏的使用.关键点在于如何在dialogfragment中使用toolbar! Toolbar的图标.标 ...

  8. 制造业物料清单BOM、智能文档阅读、科学文献影响因子、"Celebrated Italian mathematician ZepartzatT Gozinto" 与 高津托图

    意大利数学家Z.高津托 意大利伟大数学家Sire Zepartzatt Gozinto的生卒年代是一个谜[1],但是他发明的 “高筋图” 在 制造资源管理.物料清单(BOM)管理.智能阅读.科学文献影 ...

  9. PLSQL 登录出现 ora12638 credential retrieval failed

    参考:http://blog.csdn.net/yjq8116/article/details/4203168 解决了 开始 -> 程序 -> Oracle -> Configura ...

  10. ASP.NET应用程序服务器集群方案

    本文采用Nginx来实现ASP.NET程序集群化. 准备环境 首先准备Nginx环境,Windows版本下载链接:http://nginx.org/en/download.html 解压后文件格式如下 ...