# 一,为什么使用函数
# 1,可以使代码的组织结构清晰,可读性好
# 2,遇到重复的问题可以直接调用函数
# 3,功能扩展时,可直接修改,而无需每处都进行修改、
# 二,函数为何物
# 函数对程序员相当于巧妇之于米,蓝翔之于挖掘机
# 学生之于书本。
# 三,函数分类
# 1,内置函数,python解释器已经给我们定义好了很多函数,方便我们用来
# 开发,我们可以直接拿来用,而不用定义,例如:len,man,min,sum
# 2,自定义函数,很显然python内置的函数功能是有限的,要不然我们也不用学习了,
# 直接进行调用就可以了,需要我们自己根据需求来定制函数、
# 四。定义函数
def max_num(num1,num2):
if num1 > num2:
return num1
else:return num2
# 函数名:max_num:应该见名知意,
# 参数:num1,num2:调用时应该根据是否有参数来决定是否需要传参
# 返回值:不写默认返回为空
# 需要先进行定义,在调用
# num = sum_num(3,6)
# def sum_num(num1,num2):
# return num1 + num2
# 上边这个写法是不对的。
# 函数定义的时候,只检测语法,不执行代码,
# 也就是说语法错误在函数定义阶段会被检测出来,
# 代码的逻辑错误只有在执行的时候才会知道
# 五,调用函数
# 函数名加括号,传入参数,是否有返回值 # 六,函数的参数
# 形参即变量名,实参即变量值,函数调用时,将值绑定到变量名上,
# 函数调用结束时,解除绑定
def modify_num(num1,num2):
num1 = 5
num3 = 6
n1,n2 = 3,5
modify_num(n1,n2)
print(n1,n2)
# 形参为num1,num2,实参为3,5
# 此时n1,n2的值还是不会变得,
# 几种函数参数:
# 1,位置参数:按照从左向右顺序定义的参数
# 位置形参:必选参数,位置实参:按照位置给形参传值
# 2,关键字参数:按照key=value的形式定义实参
# 不用按照位置为形参传值
# (1),关键字参数必须在位置实参右边
# (2),对同一个形参不能重复传值
# 3,默认参数:在定义是就已经为其赋值
# 可以传值,也可以不穿值,
# 1,只在定义时赋值一次,
# 2,默认参数的定义应该在位置形参右边
# 3,通常为不可变类型
# 4,可变长参数:
# 实参的值得个数不固定,
# 实参有按位置和关键字两种形式定义,*args,**kwargs.
def foo(x, y, *args):
print(x, y)
print(args)
foo(1, 2, 3, 4, 5) def foo(x, y, *args):
print(x, y)
print(args)
foo(1, 2, *[3, 4, 5]) def foo(x, y, z):
print(x, y, z)
foo(*[1, 2, 3]) def foo(x, y, **kwargs):
print(x, y)
print(kwargs)
foo(1, y=2, a=1, b=2, c=3) def foo(x, y, **kwargs):
print(x, y)
print(kwargs)
foo(1, y=2, **{'a': 1, 'b': 2, 'c': 3}) def foo(x, y, z):
print(x, y, z)
foo(**{'z': 1, 'x': 2, 'y': 3})

python基础--函数1的更多相关文章

  1. python基础——函数的参数

    python基础——函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复 ...

  2. python基础—函数嵌套与闭包

    python基础-函数嵌套与闭包 1.名称空间与作用域 1 名称空间分为: 1 内置名称空间   内置在解释器中的名称 2 全局名称空间   顶头写的名称 3 局部名称空间 2 找一个名称的查找顺序: ...

  3. python基础—函数装饰器

    python基础-函数装饰器 1.什么是装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的返回值是也是一个函数对象. 装饰器经常用于有切 ...

  4. Python基础-函数参数

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

  5. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  6. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  7. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  8. python基础——函数

    1.内置函数的调用: 可以在官方网站查找内置函数及说明,也可以通过help(abs)函数查看相应的信息. https://docs.python.org/3/library/functions.htm ...

  9. Python基础(函数,函数的定义,函数的调用,函数的参数,递归函数)

    1.函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = ...

  10. Python 全栈开发四 python基础 函数

    一.函数的基本语法和特性 函数的定义 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数 ...

随机推荐

  1. [project X] tiny210(s5pv210)上电启动流程(BL0-BL2)(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ooonebook/article/det ...

  2. 中文转换为ASCII码的方式

    可以到jdk安装路径: 找到native2ascii.exe文件 双击运行,敲入中文即可获取对应的ASCII编码

  3. python gitlab 学习笔记

    gitlab创建个人访问令牌(personal access token) https://blog.csdn.net/NGU2028070003/article/details/86634474 P ...

  4. selenium常用定位方式

    Selenium 是一个Web应用程序的自动化测试工具.使用javaScript内核语言编写,几乎支持所有能运行javaScript的浏览器(包括IE(7, 8, 9, 10, 11),Mozilla ...

  5. webpack4基础配置

    网页中常见的静态资源: js: .js .jsx .coffee .ts(TypeScript 类 C# 语言) css: .css .less .sass .scss Images: .jpg .p ...

  6. npm 安装时 --save --dev 和 --save 区别

    一.模式 运行webpack命令时,一定要指定模式. webpack --mode developmentwebpack --mode production二.--save -dev --save:将 ...

  7. CF1263F

    题目描述 给出一个类似这样 的图,求删掉最多的黑边使得每个特殊点和至少一个节点1连通 保证上下两棵树都存在一种dfs序使得访问特殊点的顺序为1~n 题解 设f[i][j]表示上面的树最后一个特殊点为i ...

  8. javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint,NotBlank判断不能为空

    java 验证出现如下错误: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for c ...

  9. BZOJ 4773: 负环 倍增Floyd

    现在看来这道题就非常好理解了. 可以将问题转化为求两点间经过 $k$ 个点的路径最小值,然后枚举剩余的那一个点即可. #include <cstdio> #include <cstr ...

  10. (57)Linux驱动开发之三Linux字符设备驱动

    1.一般情况下,对每一种设备驱动都会定义一个软件模块,这个工程模块包含.h和.c文件,前者定义该设备驱动的数据结构并声明外部函数,后者进行设备驱动的具体实现. 2.典型的无操作系统下的逻辑开发程序是: ...