#/usr/bin/python
#coding=utf-8
#@Time   :2017/10/23 15:58
#@Auther :liuzhenchuan
#@File   :函数的一般形式.py
 
##函数的定义
  #x y 为形参 ,sum(6,4)叫实参
def sum(x,y):
    print {'x = 0'.format(x)}
    print {'y = 0'.format(y)}
    return x + y
m = sum(6,4)
print m
 
>>> set(['x = 0'])
    set(['y = 0'])
    10
 
 
###函数的参数
  #给形参b定义一个默认的值
def funcA(a,b=0):
    print a
    print b
funcA(1)
 
>>> 1
    0
 
  #如果实参传入的时候,判定了b的值,那么b优先选择传入的实参,当b没有值时,才会选择默认的值
def funcA(a,b=0):
    print a
    print b
funcA(10,30)
 
>>> 10
    30
 
 
##参数为tuple
  #a对应1,b对应2,*c对应剩下的元组列型
def funcD(a,b,*c):
    print a
    print b
    print 'length of c is :%d' % len(c)
    print c
funcD(1,2,3,4,5,6)
>>> 10
1
2
length of c is :4
(3, 4, 5, 6)
 
#通过解包的形式传入元组
def funcD(a,b,*c):
    print a
    print b
    print 'length of c is :%d' % len(c)
    print c
# funcD(1,2,3,4,5,6)
   #通过解包的形式传入元组
test = ('hello','world')
funcD(1,2,*test)
 
>>> 1
    2
    length of c is :2
    ('hello', 'world')
 
 
 
 
 
##传入参数为字典,两个星号b代表的是字典,x是字典的键值,b[x]是字典的value.100是a的实参;x='hello',y='nihao' 是b的实参,是给a和b赋值
所以不能写成 a='hello',b='nihao',也就是不能再用a和b当作实参。
def funcF(a,**b):
    print a
    print b
    for x in b:
        print x  +  ":" + str(b[x])
funcF(100,x='hello',y='nihao')
 
>>> {'y': 'nihao', 'x': 'hello'}
y:你好
x:hello
 
#还可以通过解包的形式,传入字典
def funcF(a,**b):
    print a
    print b
    for x in b:
        print x  +  ":" + str(b[x])
# funcF(100,x='hello',y='你好')
   #还可以通过解包的形式传入字典
args = {'1':'a','2':'b'}
funcF(100,**args)
 
>>> {'1': 'a', '2': 'b'}
     1:a
     2:b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python 基础 4.0 函数的一般形式及传参的更多相关文章

  1. python 基础 6.0 异常的常用形式

    一. 异常   异常既是一个时间,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误.当python ...

  2. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  3. python基础——高阶函数

    python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...

  4. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  5. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  6. mybatis-plus 自定义SQL,XML形式,传参的几种方式

    mybatis-plus 自定义SQL,XML形式,传参的几种方式 前提说明 所涉及文件 传参类型说明 1.Java代码中使用QueryWrapper动态拼装SQL 2.简单类型参数(如String, ...

  7. python基础笔记-0

    python中数据结构,主要有列表.元组.字典.集合. python中最基本数据结构是序列(sequence).序列中每个元素被分配一个序号——即元素位置,也成为索引.第一个索引是0,第二个是1,以此 ...

  8. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  9. 『Python基础-13』函数 Function

    这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...

随机推荐

  1. 几个相似的DP题

    HDU1398 题意:把一个整数分拆成1.4.9.16.…….256.289(注意:只到289)这17个完全平方数的和,有几种方法. 解法不用说自然是DP,因为搜索显然超时. (这样的题我一般不敢开i ...

  2. HDU 3549 Flow Problem (dinic模版 && isap模版)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 题意: 给你一个有向图,问你1到n的最大流. dinic模版 (n*n*m) #include ...

  3. [转] 使用SVN进行源码管理

    原文地址:gyzhao's, 使用SVN进行源码管理(下) 软件下载 1. Viusal SVN, Download(官网),安装该软件之前,请先安装TortoiseSVN,Download. 2. ...

  4. iOS7自定义back按钮和pop交互手势

    Clambake for iPhone有一个回退按钮在所有的导航条上.这是一个简单的没有文字箭头. 实现一个自定义按钮是简单的.类似这个设置controller 的navigationItem一个le ...

  5. 在Android中实现阴影效果

    在Android L推出后,Google提出了全新的设计语言:材质设计.其中很重要的一点就是阴影效果的使用,你可以为每一个View设置一个elevation值,相当于除了x.y之外的z值,z值决定了阴 ...

  6. 深入理解OAuth2.0 XSS CSRF CORS 原理

    基于Token的WEB后台认证机制 http://www.cnblogs.com/xiekeli/p/5607107.html 深入理解OAuth2.0协议http://blog.csdn.net/s ...

  7. python super 的正确理解

    http://www.jb51.net/article/87807.htm super指的是MRO中的下一个类

  8. GIS可视化——属性图

    一.简介 SuperMap iClient for JavaScript 提供了UTFGrid图层(属性图),用于客户端属性信息的快速交互. UTFGrid图层从UTFGrid切片数据源读取数据,其本 ...

  9. windows8开发-关于wp7应用迁移到win8 metro风格

    虽然微软说,wp7应用移植到win8上面是比较简单,只需要修改部分API和设计原则上的细节,同时它也提供了一份比较简洁的参考文档: 而实际上这种移植的工作量还是不小的,尤其当应用引用了较多底层的API ...

  10. 转: 微信开源C/C++ RPC框架PhxRPC

    转自: http://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483734&idx=1&sn=da364812eca ...