实参和形参:
  定义函数括号里的一般叫形参
  调用时括号里传递的参数一般叫实参

def students(age):
print('my age is %s' % age)
students(18)
age就是形参,18就是实参

参数的具体应用:

1、位置参数:按照从左到右的顺序定义的参数
  位置形参:必选参数
  位置实参:按照位置给形参传值

def foo(x,y):
print(x,y)
foo(1,2)
#结果:1,2  

2、关键字参数:

  按照key=value的形式定义的实参
  无需按照位置为形参传值

注意的问题:
  1. 关键字实参必须在位置实参右面
  2. 对同一个形参不能重复传值

def foo(x,y):
print(x,y)
foo(y=2,x=1)
结果:1,2  

3、默认参数:

  形参在定义时就已经为其赋值
  可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参)
注意的问题:
  1. 只在定义时赋值一次
  2. 默认参数的定义应该在位置形参右面
  3. 默认参数通常应该定义成不可变类型

def foo(x,y=2):
print(x,y)
foo(1)
#结果:1,2
foo(1,3)
#结果:1,3  

4、可变长参数:
  可变长指的是实参值的个数不固定
  而实参有按位置和按关键字两种形式定义,针对这两种形式的可变长,形参对应有两种解决方案来完整地存放它们,分别是*argsh和**kwargs

#*args:传递的参数会变成元组
def foo(x,y,*args):
print(x,y,args)
foo(1,2,3)
#结果:1 2 (3,)
#**kwargs:传递的参数会变成字典
def foo(x,y,**kwargs):
print(x,y,kwargs)
foo(1,2,a=3,b=4)
#结果:1 2 {'a': 3, 'b': 4} 

return 语句:

  return语句[表达式]退出函数,选择性地向调用方返回一个表达式。

  不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:

# 可写函数说明
def add_sum(arg1, arg2):
# 返回2个参数的和."
total = arg1 + arg2
print("函数内 : ", total)
return total
# 调用sum函数
total = add_sum(10, 20)

名称空间:
  1.内置名称空间:比如print,max...(ctrl+左键查看源代码)这些内置函数所存在的地方叫做内置名称空间
  2.全局名称空间:顶格写的属于全局名称空间里面的
  3.局部名称空间:函数里面的代码属于局部名称空间

作用域:名称空间的访问顺序
  总结:三者的加载顺序
  内置 - -->全局 - -->局部

三者的访问顺序
  局部 - -->全局 - -->内置

def f1():
def f2():
def f3():
print(print)
f3()
f2()
f1() 

python函数的基本语法<三>的更多相关文章

  1. python函数的基本语法<二>

    函数的流程控制: if...else... a = 100 b = 200 if a == 100 and b ==300: print('100,200') elif b == 200: print ...

  2. Python函数(十)-装饰器(三)

    如果多个函数想通过一个装饰器来实现不同的功能的话,可以给装饰器传入参数,让装饰器里的函数对参数进行判断,来实现不同的功能 # -*- coding:utf-8 -*- __author__ = &qu ...

  3. python函数的基本语法<一>

    函数: 一次定义,多次调用,函数可以变相看成变量函数的阶段: 1.定义阶段 2调用阶段 形参和实参: 定义阶段的参数叫形参,调用阶段的参数叫实参 函数的几种基本用法: #多变量 def test(na ...

  4. python函数语法学习

    Python函数 定义函数 在Python中,定义一个函数用def语句,一次写出函数名.括号中的参数和冒号:,函数返回使用return语句. def myDef(x): if x >= 0: r ...

  5. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  6. 第三篇:python函数

    1.python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...

  7. 悉数 Python 函数传参的语法糖

    TIOBE排行榜是程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义.随着数据挖掘.机器学习和人工智能相关概念的风行,Python一举收获2018年年度语言,这也是Pyt ...

  8. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  9. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

随机推荐

  1. Spring源码分析之IOC的三种常见用法及源码实现(二)

    Spring源码分析之IOC的三种常见用法及源码实现(二) 回顾上文 我们研究的是 AnnotationConfigApplicationContext annotationConfigApplica ...

  2. 前端深入之css篇丨2020年前,彻底掌握css动画【animation】

    写在前面 马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所 ...

  3. 车载导航应用中基于Sketch UI主题定制方案的实现

    1.导读 关于应用的主题定制,相信大家或多或少都有接触,基本上,实现思路可以分为两类: 内置主题(应用内自定义style) 外部加载方式(资源apk形式.压缩资源.插件等) 其实,针对不同的主题定制实 ...

  4. Java学习笔记之基础语法(数组)

    数组 数组概述:是具有相同数据类型的数据的集合 数组的定义:数据类型 数组名 [] 数组特点: 1,数组是引用数据类型. 2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个 3,数组长度是固 ...

  5. Lombok中关于@Data的使用

    当你在使用 Lombok 的 @Data 注解时,其实会有一些坑需要关注,今天就让我们来见识一下. Lombok 先来简单介绍一下 Lombok ,其官方介绍如下: Project Lombok ma ...

  6. [LUOGU1272] 重建道路 - 树形背包

    题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的.因此,牧场运输系 ...

  7. [JOYOI1463] 智商问题

    题目限制 时间限制 内存限制 评测方式 题目来源 1500ms 131072KiB 标准比较器 Local 题目背景 各种数据结构帝~ 各种小姊妹帝~ 各种一遍AC帝~ 来吧! 题目描述 某个同学又有 ...

  8. C# 控件 RichTextBox 显示行号,并且与Panel相互联动

    我们在使用到WINFORM窗体工作中,要求RichTextBox 加入行号: 之前有看到大牛们写的,但是太复杂繁多,而且有用双TextBox进行联动,非常不错,今天我们尝试RichTextBox +P ...

  9. 我要学并发-Java内存模型到底是什么

    内存模型 在计算机CPU,内存,IO三者之间速度差异,为了提高系统性能,对这三者速度进行平衡. CPU 增加了缓存,以均衡与内存的速度差异: 操作系统增加了进程.线程,以分时复用 CPU,进而均衡 C ...

  10. springboot学习(二十二)_ 使用@Constraint注解自定义验证注解

    最近项目在使用如@NotNull @Max 等配合@vaild 注解进行验证传过来的参数校验,然后通过统一异常处理,直接返回给前端,不用在业务代码中对这些参数进行校验.但是官方提供的并不能全部满足项目 ...