首页 > 编程语言 >python函数

python函数

时间:2022-11-05 19:55:31浏览次数:42  
标签:__ return 函数 python 作用域 -- 参数

python函数

函数啊函数

多解决问题,踩的坑多了,就有经验了

  1. 函数作用: 以功能(完成一件事)为导向的代码块,一个函数就是一个功能.
    • 随调随用,不用不调
    • 减少代码重复性,增强了代码可读性
  2. 函数的结构与调用:
    • def func(args):..expr..return a,b
    • 函数名 加上 括号 才执行
    • return的功能:
      • 1-结束函数,函数里面的while循环内部遇到return也会跳出.
      • 2-给函数外部返回一个或多个值(元组). 返回就是传给一个变量一个值
    • 调用一次函数,就执行一次
  3. 函数的返回值
    • return 单个值 type是值本身
    • return 多个值 是以元组的形式返回给函数的执行者
    • 没有return 实际返回是None
    • 一个函数可以有多个return --根据条件
  4. 函数的参数\传参
    • 函数执行时写的参数 叫 实参
    • 函数定义时写的参数 叫 形参
    • 位置参数: 按顺序一一对应
    • 关键字参数:一一对应
    • 混合参数: 位置参数一定要在关键字前面
    • 默认参数的设置是经常用的
    • 万能参数很强 args : 约定是args, 牛逼的是这个---函数定义的时候,*代表聚合,成一个元组
    • 万能参数真强 **kwargs **聚合成一个字典
    • 形参角度的参数顺序: (位置参数 *args, 默认参数, 关键字参数, **kwargs)
    • 在函数执行时,*代表打散
    def func(*args, **kwargs):
        print(args)
        print(kwargs) 
    func(*'abc', *[1, 2, 3], *[66, 77], **{'a': 1, 'b': 2}, **{'tt': 100, 'yy': 101})
     ## ('a', 'b', 'c', 1, 2, 3, 66, 77)
     ## {'a': 1, 'b': 2, 'tt': 100, 'yy': 101}
    
  5. 三元运算符--列表的和字典的三元表达式
    • aa = list[:2] if expr else 1
    • return a if a>b else b
    • list1 = [a for a in range(10)] # 列表三元表达式
    • dict1 = {key: value for key, value in enumerate(list1)} # 字典三元表达式
  6. 名称空间 和 作用域
    • 内置名称空间: python内置函数的预置空间print input ord chr id isinstance....
    • 全局名称空间: 记录变量名与值/函数名与函数体的对应关系 py文件root就是全局空间
    • 局部名称空间:执行时开辟,函数运行结束关闭....也叫临时空间 +
    • 加载顺序: 内置--全局--局部
    • 取值顺序: 局部--全局--内置 就近原则
    • 作用域:
      • 全局作用域--内置名称空间和全局名称空间
      • 局部作用域--局部名称空间
      • 局部作用域可以"引用"全局作用域的变量,但不能修改这个变量
      • local--eclose--global--builtin ==>LEGB就近原则
  7. 函数的嵌套--高阶函数--函数里面套函数
  8. 内置函数--
    • globals() 返回的是字典: 字典里面的键值对:全局作用域的所有内容
    • locals() 返回的是字典: 字典里面的键值对:当前作用域的所有内容
    a=1
    b=2
    def func():
        c=3
        print(locals())
    print(globals())
    func()
    ###========----------内容如下 
    {'__name__': '__main__', '__doc__': None, '__package__': None, 
    '__loader__': <_frozen_importlib_external.SourceFileLoader object 
    at 0x000001393FED4820>, '__spec__': None, '__annotations__': {}, 
    '__builtins__': <module 'builtins' (built-in)>, 
    '__file__': 'E:\\software\\python\\pythonProject\\fuxitigao\\1106.py', 
    '__cached__': None, 'a': 1, 'b': 2, 'func': <function func at 
    0x000001393FE13EB0>}
    ---
    {'c': 3}   
    
  9. 关键字--nonlocal global

标签:__,return,函数,python,作用域,--,参数
From: https://www.cnblogs.com/leeyong49/p/16860949.html

相关文章

  • 极客编程python入门-字典与SET
    dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度d={'python':7,"java":234,'go':3,123:567}print(d)p......
  • C++构造函数初始化列表注意的坑
    原文链接:https://www.zhoubotong.site/post/87.html之所以写这篇文章,是觉得里面有些细节如果不注意,很容易出错或踩坑,网上有很多教程对这块的描述部分存在错误。希望下面......
  • MongoDB基础之分组聚合函数讲解
    目录1分组聚合1.1概念定义1.2聚合操作1.2.1$match筛选1.2.2$project映射1.2.2.1自定义字段1.2.2.2起别名1.2.2.3引用原字段:$字段名1.2.2.4使用算术表达式1.2.2.5......
  • 【python】pycharm打开时一直加载中怎么办 ?
    前言大家早好、午好、晚好吖~问题描述相信很多刚开始使用pycharm不太熟练的小伙伴,每天一开机打开pycharm总是卡半天,不知道的还以为是电脑卡了或者啥问题的。莫慌,其实......
  • Lambda公式,函数公式or函数名?(Excel函数集团)
    Lambda可以说是相当颠覆函数传统概念的一个家伙,在这之前,但凡工作表函数公式的组成部分都是至少三部分:等号、函数名、一对半角的小括号。而这对半角小括号就是这函数的一堵......
  • 运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message
    运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException:Message:sessionnotcreated        原因:ChromeDriver版本与浏览器版本不......
  • python print 打印延迟问题解决
    转载:https://wenku.baidu.com/view/ffc89347bb4ae45c3b3567ec102de2bd9705de56.html?wkts=1667639107060&bdQuery=python+print%E7%AB%8B%E5%8D%B3%E6%89%93%E5%8D%B0......
  • Strlen函数用法
    1.strlen的一般用法C库函数 size_tstrlen(constchar*str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。#include<stdio.h>#include<string.h>intma......
  • shell-函数学习笔记二
    shell函数的定义#方法一functionname{command...command}#方法二name(){command...command}函数的调用直接使用函数名调用,可以将函数......
  • 函数极限的性质
    函数极限的性质唯一性:若\(\lim\limits_{x\toa}f(x)=A,\\lim\limits_{x\toa}f(x)=B\),那么有\(A=B\).有界性:若\(\lim\limits_{x\toa}f(x)=A\)......