函数初识

定义: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. 应用程序无法正常启动(0xc000007b)请单击确定关闭程序

    1.问题 在win10 VS2105 环境下面开发了一个调用get接口获取数据然后写入pg数据库的程序,在自己电脑上运行正常.复制到win7环境下运行,单击出现如下图所示的提示框. 2.原因分析 出现 ...

  2. 「Luogu P5601」小D与笔试

    题目链接 戳我 \(Solution\) 这道题官方题解的做法太复杂了,还需要扫字符串. 其实只需要两个\(map\)就好了. 一个\(map<string,stirng>\)用来记录题目 ...

  3. Tree-based Model 如何处理categorical variable

    categorical variable 分为 order variale 和 non-order variable,其中order variable直接使用sklearn.preprocess.La ...

  4. android canvas drawtext 字高

    Paint pFont = new Paint(); Rect rect = new Rect(); pFont.getTextBounds("豆", 0, 1, rect); L ...

  5. ambari部署Hadoop集群(1)

    本例使用hortonworks 提供了 ambari 的安装方法,而且还很详细.以下是在 centos7 上的安装步骤. 基础配置: 1. 修改电脑的主机名 hostnamectl set-hostn ...

  6. 查询出与jack互为好友的人名字

    建表 /* Navicat MySQL Data Transfer Source Server : connect1 Source Server Version : 50611 Source Host ...

  7. 利用ExpandableListView实现常用号码查询功能的实现

    package com.loaderman.expandablelistviewdemo; import android.content.Context; import android.databas ...

  8. 数据分析 - numpy 模块

    numpy 概述 ▨  Numerical Python. 补充了python所欠缺的数值计算能力 ▨  Numpy是其他数据分析及机器学习库的底层库 ▨  Numpy完全标准C语言实现,运行效率充分 ...

  9. numpy之数组属性与方法

    # coding=utf-8import numpy as npimport random # nan是一个float类型 ,not a num不是一个数字;inf,infinite 无穷 # 轴的概 ...

  10. Memtest86+ 5.0.1系统设置

    Settings: (1) Test Selection (测试选择) > (1) Default Tests (2) Skip Current Test (3) Select Test (4) ...