python 版本 3.5

#Author by Andy
#_*_ coding:utf-8 _*_
def func(x,y=2):
print('我是形参%s'%x)
print('我是默认参y--->%s'%y)
func(1)
#1是实参,x为形参,y为默认参数
#若实参数目不固定
def func1(*args):
print(args)
func1([1,2.3,4,5])
#([1, 2.3, 4, 5],)
func1(*[1,2,3,4,5])
#(1, 2, 3, 4, 5)
#实参为字典 **kwargs把N个关键字参数转化为字典输出
def func2(**kwargs):
print(kwargs)
print(kwargs['name'])
print(kwargs['age'])
print(kwargs['salary'])
func2(name='Andy',age=20,salary=10000,job='doctor') def func3(name,age=20,**kwargs):
print(name)
print(age)
print(kwargs)
func3('Andy')
#Andy
#{}
#默认参数赋值方式:1、位置参数赋值 2、关键字赋值
func3('Andy',salary=10000,age=21)
func3('Andy',21,salary=10000)
#*args接受N个位置参数,转化成元组;
#**kwargs接收N个关键字参数,转为字典
#位置参数必须放在关键字参数前面 # def func4(name,age=20,*args,**kwargs):
# print(name)
# print(age)
# print(args)
# print(kwargs)
# logger('test')
# func4('Andy',21,32,salary=10000,job='doctor')
# def logger(source):
# print('from %s'%source)
#局部变量(只在函数体内作用的变量)
def changename(name):
print('before change',name)
name='John'
age=23
print('after change',name)
name='Andy'
changename(name)
print(name)
# before change Andy
# after change John
# Andy
#全局变量(整个程序都可以用的变量,定义在函数体外)若修改全局变量,需在函数体内用global 重新定义变量 ***函数体内不要修改
# 全局变量,且函数体内不要定义全局变量
def func5():
global name
name='andy'
print(name)
func5()
print(name)
#全局变量(整个程序都可以用的变量,定义在函数体外)若修改全局变量,需在函数体内用global 重新定义变量 ***函数体内不要修改
# 全局变量,且函数体内不要定义全局变量
#列表、字典、集合、类作为全局变量时,函数体内可以修改
#字符串、数字作为全局变量时,函数体内无法修改
#函数的递归
def calc(n):
print(n)
if int(n/2) >0:
return calc(int(n/2))
print(n)
calc(10)

python3 函数的形参、实参、位置参数、默认参数、关键字参数以及函数的递归的更多相关文章

  1. 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数

    函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...

  2. day11函数(形参实参)

    形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...

  3. Python星号*与**用法分析 What does ** (double star/asterisk) and * (star/asterisk) do for parameters? 必选参数 默认参数 可变参数 关键字参数

    python中*号**的区别 - CSDN博客 https://blog.csdn.net/qq_26815677/article/details/78091452 定义可变参数和定义 list 或 ...

  4. python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)

    1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...

  5. Python虚拟机函数机制之扩展位置参数和扩展键参数(六)

    扩展位置参数和扩展键参数 在Python虚拟机函数机制之参数类别(三)的例3和例4中,我们看到了使用扩展位置参数和扩展键参数时指示参数个数的变量的值.在那里,我们发现在函数内部没有使用局部变量时,co ...

  6. python学习第三十天函数的形参,实参及函数文档

    python函数的形参是定义函数def 函数名 小括号里面的变量,实参是调用函数时候的值,函数文档是提供函数功能的开发文档,下面 详细说明系列方法 1,函数的形参 def chan(name): pr ...

  7. Day5 - 05 函数的参数-关键字参数

    可变参数可以传入任意个参数,并在函数调用时自动组为一个tuple,而关键字参数允许传入任意个携带参数名的参数,这些关键字参数在函数内部自动组为一个dict.         >>> ...

  8. python学习笔记 可变参数关键字参数**kw相关学习

    在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如 ...

  9. python函数—形参、实参、位置参数、关键字参数

    1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行.如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个re ...

随机推荐

  1. python生成器实现杨辉三角

    def triangels(): """ 杨辉三角 """ lst = [1] n_count = 2 # 下一行列表长度 while Tr ...

  2. XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法

    使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到以下这一句时,就不再发送调试信息了: ...(XEN) Intel machine check rep ...

  3. anagularJs指令的controller,link,compile有什么不同

    /directives.js增加exampleDirective phonecatDirectives.directive('exampleDirective', function() { retur ...

  4. 剖析javascript全局变量和局部变量

    首先要记住: javascript是弱类型语言,它只有一种变量类型(var),为变量赋值时会自动判断类型并进行转换. 全局变量和局部变量如何声明? 全局变量声明: 第一种方式(函数外) var a; ...

  5. 技巧分享:解决Word 2010当中“分页符”造成的空白行

    技巧分享:解决Word 2010当中“分页符”造成的空白行 P1:关于“分页符” 在Word当中插入“分页符”之后,后面的内容就会“更起一段”.就好像“换行符”(回车)会让后面的内容“另起一行”一样. ...

  6. String.Join的巧用

    String.Join大大的方便了我们拼接字符串的处理. 1.普通用法:指定元素间的拼接符号 var ids = new List<int>(); for (int i = 0; i &l ...

  7. 阿里云mariadb无法启动问题

    需要再安装yum install mariadb-server就可以了, 重启服务器,使用命令 sudo systemctl start mariadb.service

  8. Selenium-xpath详解

    1.XPATH是什么 XPATH是一门在XML文档中查找信息的语言,XPATH可用来在XML文档中对元素和属性进行遍历,主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档.X ...

  9. Linux中profile、bashrc、bash_profile之间的区别和联系

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为: # /etc/pr ...

  10. Java注解和代理实现

    1.定义注解 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java. ...