函数初识

定义:def--关键字

​ 将某个功能封装到一个空间中就是一个函数

功能:

​ 减少重复代码

函数的调用

​ 函数名+():调用函数和接收返回值

函数的返回值

  1. return 值 == 返回值
  2. 可以返回任意的数据类型
  3. return 返回多个内容是元祖的形式
  4. return 下方不执行,并且会终止当前函数
  5. return 不写或者写了return 后面不写值都会返回None
  6. 函数的返回值返回给函数的调用者
  7. 函数的返回值可以有多个结果

函数的参数

  1. 分类:

    1. 位置参数:一一对应
    2. 默认参数:参数定义是括号中写好的就是默认参数(不进行传参就使用默认参数,使用传参时使用传递的参数)
    3. 关键字参数,按照关键字进行传参
    4. 位置参数必须放在默认参数之前
    5. 混合参数:位置参数和关键字参数一起传参
  2. 形式参数:函数定义阶段括号中的参数叫做形参
  3. 实参:函数调用阶段括号中的参数叫做是实参
  4. 传参:将实参传递给形参的过程叫传参

三元运算:

格式:条件成立的结果 条件 条件不成立的结果

参数:

*args,**kwargs:万能传参

  1. *args(函数定义阶段代表聚合,返回的是一个元祖): 大家共用的一个名字,可以修改但是不建议,接受多余的位置参数

  2. **kwargs(聚合关键字参数,返回的是一个字典)接收多余的关键字参数

    def eat(*args):	#函数的定义阶段	*聚合(打包)
    print(args) #元祖
    print(*args)#函数体中的*,打散(解包)

优先级

  • 位置参数 > 动态位置参数 > 默认参数 > 动态默认参数

函数体中的*代表什么

  • 第一个代表:聚合
  • 第二个代表:打散 函数体中* kwargs 只用一个*,

形参中参数定义的位置:

  • 位置参数:定义在函数体开头的时候
  • 动态位置参数:先执行位置参数,位置参数接收后额外的参数动态位置进行接收,获取到的是一个元祖
  • 默认参数:函数接受体接收到的参数
  • 动态关键字参数:先执行默认参数,默认参数接收后,额外的默认参数动态进行接收,获取到的是一个字典

实参中的位置:

  • “*” 打散
  • “**” 实参可以使用

函数的注释

  1. 查看注释:函数名.__ doc __
  2. 查看函数的名字:函数名.__ name __

从入门到自闭之Python函数初识的更多相关文章

  1. 从入门到自闭之Python基础——函数初识

    1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表 ...

  2. 从入门到自闭之Python高阶函数

    高阶函数:内部帮忙做了一个for循环 filter:筛选过滤 语法: filter(function,iterable) function: 1.指定过滤规则(函数的内存地址) 2.用来筛选的函数,在 ...

  3. 从入门到自闭之Python内置函数

    内置函数一 eval:执行字符串类型的代码 exac:执行字符串社类型的代码 eval与exac 禁止使用 hash()作用就是区分可变数据类型与不可变数据类型 # print(hash(" ...

  4. 从入门到自闭之Python集合,深浅拷贝(大坑)

    小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...

  5. 从入门到自闭之Python序列化

    序列化(背) json :将数据类型转换成字符串(序列化),将字符串装换成原数据类型(反序列),支持dict,list,tuple等,序列后都变成了列表 dumps,loads ------ 用于网络 ...

  6. 从入门到自闭之Python名称空间

    名称空间: 内置空间:python解释器自带的一块空间 全局空间:py文件中顶格写的就是全局空间 局部空间:函数体中就是局部空间 加载顺序: 内置空间 全局空间 局部空间 # def func(): ...

  7. 从入门到自闭之Python自定义模块

    自定义模块 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数) 作用: 将代码文家化管理,提高可读性,避免重复代码 拿来就用(避免重复造轮子),python中类库比较多,提 ...

  8. 从入门到自闭之Python三大器--生成器

    1.什么是生成器 核心:生成器的本质就是一个迭代器 迭代器是python自带的的 生成器是程序员自己写的一种迭代器 编写方式: 基于函数编写 推导式编写 def func (): print(&quo ...

  9. 从入门到自闭之Python三大器--迭代器

    函数名的第一类对象(概述): 使用方式: 函数名可以当做值赋值给变量 def func(): print(1) print (func) #查看函数的内存地址 a = func print (a) # ...

随机推荐

  1. Vue_(组件)过渡效果

    Vue.js进入/离开 & 列表过渡 传送门 进入/离开过渡效果:Vue在插入.更新或移除DOM时,可以设置一些动画效果: 过渡效果中也提供了对应的钩子函数,这些钩子函数需要在<tran ...

  2. Robot Framework自动化测试(一)--- 安装

    所需环境: 1.python 2.robotframework https://pypi.python.org/pypi/robotframework/2.8.5#downloads 3.wxPyth ...

  3. 关于mysql创建数据库,基字符集 和 数据库排序规则 的对比选择

    1.一般选择utf8.下面介绍一下utf8与utfmb4的区别. utf8mb4兼容utf8,且比utf8能表示更多的字符.至于什么时候用,看你的做什么项目了,unicode编码区从1 - 126就属 ...

  4. LeetCode 分类颜色

    LeetCode   分类颜色 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 ...

  5. DP&图论 DAY 6 上午

    DP&图论  DAY 6  上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ...

  6. day01-JavaScript中"Uncaught TypeError: Cannot set property 'innerHTML' of null"错误

    转行学开发,代码100天.初写了最简的一段Js代码,即通过document中的innerHTML方法修改一个<p>标签的内容,报以下错误. -"Uncaught TypeErro ...

  7. php怎样获取当前页面文件名

    因开发需要,常需要获取当前php文件的文件名.php获取当前文件名方法很简单,程序代码如下: <?php function php_self(){ $php_self=substr($_SERV ...

  8. 手动部署 OpenStack Rocky 双节点

    目录 文章目录 目录 前言 OpenStack 架构 Conceptual architecture Logical architecture 网络选型 Networking Option 1: Pr ...

  9. 关于ansbile

    YAML语法规则 规则一:缩进(一个缩进两空格,注意一定不用tab) 规则二:冒号(每个冒号后一定要有空格) 规则三:短横线 - (短横线后面要空格) 编写案例 ansible-playbook -- ...

  10. 几行python代码解决相关词联想

    日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的.笔者认为最简单的 ...