iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python基础:自定义函数
  • 405
分享到

Python基础:自定义函数

自定义函数基础 2023-01-31 00:01:19 405人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

函数的形式: def name(param1, param2, ..., paramN): statements return/yield value # optional 和其他需要编译的语言(比如 C 语言)不一

函数的形式:

def name(param1, param2, ..., paramN):
    statements
    return/yield value # optional
  • 和其他需要编译的语言(比如 C 语言)不一样的是,def 是可执行语句,这意味着函数直到被调用前,都是不存在的。当程序调用函数时,def 语句才会创建一个新的函数对象,并赋予其名字。
  • python 是 dynamically typed ,对函数参数来说,可以接受任何数据类型,这种行为在编程语言中称为多态。所以在函数里必要时要做类型检查,否则可能会出现例如字符串与整形相加出异常的情况。

函数的嵌套:

  例:

def f1():
    print('hello')
    def f2():
        print('world')
    f2()
f1()
'hello'
'world'

  嵌套函数的作用

  • 保证内部函数的隐私
def connect_DB():
    def get_DB_configuration():
        ...
        return host, username, passWord
    conn = connector.connect(get_DB_configuration())
    return conn

  在connect_DB函数外部,并不能直接访问内部函数get_DB_configuration,提高了程序的安全

  • 如果在需要输入检查不是很快,还会耗费一定资源时,可以使用函数嵌套提高运行效率。
def factorial(input):
    # validation check
    if not isinstance(input, int):
        raise Exception('input must be an integer.')
    if input < 0:
        raise Exception('input must be greater or equal to 0' )
    ...

    def inner_factorial(input):
        if input <= 1:
            return 1
        return input * inner_factorial(input-1)
    return inner_factorial(input)
print(factorial(5))

函数作用域

  1.global

  在Python中,我们不能在函数内部随意改变全局变量的值,会报local variable 'VALUE' referenced before assignment。

  下例通过global声明,告诉解释器VALUE是全局变量,不是局部变量,也不是全新变量
VALUE = 10
def validation_check(value):
    global VALUE
    VALUE += 3 #如果注释掉global VALUE,会报local variable 'VALUE' referenced before assignment
    print('a:',VALUE)

validation_check(1)
print('b:',VALUE)
#a: 13
#b: 13

  2.nonlocal

  对于嵌套函数,nonlocal 声明变量是外部函数中的变量

  

def outer():
    x = "local"
    def inner():
        nonlocal x # nonlocal 关键字表示这里的 x 就是外部函数 outer 定义的变量 x
        x = 'nonlocal'
        print("inner:", x)
    inner()
    print("outer:", x)
outer()
# inner :nonlocal
# outer :nonlocal
  当内部变量与外部变量同名时,内部变量会覆盖外部变量
def outer():
    x = "local"
    def inner():
        x = 'nonlocal' # 这里的 x 是 inner 这个函数的局部变量
        print("inner:", x)
    inner()
    print("outer:", x)
outer()
# 输出
# inner: nonlocal
# outer: local

闭包

  • 内部函数返回一个函数
  • 外部函数nth_power()中的exponent参数在执行完nth_power()后仍然会被内部函数exponent_of记住
def nth_power(exponent):
    def exponent_of(base):
        return base ** exponent
    return exponent_of # 返回值是 exponent_of 函数

square = nth_power(2) # 计算一个数的平方
cube = nth_power(3) # 计算一个数的立方 
# square
# # 输出
# <function __main__.nth_power.<locals>.exponent(base)>

# cube
# # 输出
# <function __main__.nth_power.<locals>.exponent(base)>

# print(square(2))  # 计算 2 的平方
# print(cube(2)) # 计算 2 的立方
# # 输出
# 4 # 2^2
# 8 # 2^3

参考:

  极客时间《Python核心技术与实战 》

--结束END--

本文标题: Python基础:自定义函数

本文链接: https://www.lsjlt.com/news/182526.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基础:自定义函数
    函数的形式: def name(param1, param2, ..., paramN): statements return/yield value # optional 和其他需要编译的语言(比如 C 语言)不一...
    99+
    2023-01-31
    自定义 函数 基础
  • 【Python基础】- 自定义函数和匿名函数
      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬...
    99+
    2023-09-01
    python 开发语言
  • Python函数基础(定义函数、函数参数、匿名函数)
    目录一、定义函数:1、简单的规则:2、语法3、无参函数4、有参函数5、空函数二、调用函数及返回值1、函数运行完毕所有代码,如果函数体不写return,则会返回None。2、函数可以返...
    99+
    2024-04-02
  • python基础之函数的定义和调用
    # 第一题 # 写函数,接受n个数字,求这些参数数字的和 def sumFunc(*args): # 处理接受的数据 result=0 for item...
    99+
    2024-04-02
  • Python3.5基础——函数的定义与使
    1、函数学习框架 2、函数的定义与格式 (1)定义 (2)函数调用 注:函数名称不能以数字开头,建议函数名称的开头用小写的字母 (3)函数有四种格式,分别是:无参数无返回值,有参数无返回值、无参数有返回值、有参数有返回值 #...
    99+
    2023-01-31
    函数 定义 基础
  • Python中的基础定义
    Python中的文档字符串:可以当作一种特殊的注释,简单的说明可以使用单引号或双引号,较长的文字说明可以使用三引号变量定义:第一个字符只能是大小写字母或下划线,区分大小写运算符:(1)算术运算符:+ 、- 、* 、/ 、// 、% 、**(...
    99+
    2023-01-31
    定义 基础 Python
  • Python如何自定义函数
    小编给大家分享一下Python如何自定义函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!自定义函数import requestsfrom b...
    99+
    2023-06-27
  • Python函数基础
    目录Python函数1、函数的定义格式2、使用当前文件的函数3、调用及定义函数4、使用其他文件(模块)的函数5、求两数之和Python函数 函数就是把具有独立功能的代码块封装成一个小...
    99+
    2024-04-02
  • Python基础函数
    join()函数的用法   join()函数连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 语法:'sep'.join(seq) 参数说明sep:分隔符。可以为空seq:要连接的元素序列、字符串、...
    99+
    2023-01-31
    函数 基础 Python
  • Python中如何自定义函数
    目录Python自定义函数1 自定义函数的语法2 自定义函数的实现3 自定义函数的调用Python自定义函数基础概念一、函数定义语法二、函数文档字符串三、函数定义规则五、函数调用六、...
    99+
    2023-01-04
    Python自定义函数 Python函数 如何自定义函数
  • python中怎么自定义函数
    这篇文章主要讲解了“python中怎么自定义函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中怎么自定义函数”吧!  python中支持自定义函数  以def开头,后接标识符名...
    99+
    2023-06-01
  • python-函数基础
    函数简介 定义:就是具有特定功能的一段代码 优点: 解决代码的重复书写 可以将功能的实现着和使用者分开,提高开发效率 分类: 库函数:print、input、abs等 自定义:用户自己封装的函数 ...
    99+
    2023-01-30
    函数 基础 python
  • Python基础:Python函数
    一、函数是python中使用最高的对象。        函数定义的简单规则 :        1、用def定义,接着是函数名和参数和冒号,格式:        2、函数内部代码块需要缩进        3、使用return返回函数值,默认返...
    99+
    2023-01-31
    函数 基础 Python
  • Python 函数(lambda 匿名函数、自定义函数、装饰器)基本使用指南
    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段 lambda 匿名函数 对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁; 对于不需...
    99+
    2023-10-27
    python 开发语言
  • python中自定义函数deque规则
    这篇文章将为大家详细讲解有关python中自定义函数deque规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • python如何引用自定义函数
    python引用自定义函数的方法:1、自定义函数中的无参函数的引用:可直接输入函数名,或者将其赋值给一个变量。2、自定义函数中的有参数的函数的引用,只需在括号内加入变量即可。具体操作步骤:引用自定义函数中的无参函数,可直接输入函数名,或者将...
    99+
    2024-04-02
  • python怎么导入自定义函数
    在python中导入自定义函数的方法首先,需要自定义一个函数;def add(x, y):z=x+yreturn z函数自定义好后,通过调用sys模块,即可将自定义函数导入到Python中;import syssys.path.append...
    99+
    2024-04-02
  • python如何调用自定义函数
    要调用自定义函数,需要按照以下步骤进行:1. 定义一个函数。例如,我们定义一个名为`add_numbers`的函数,用于求两个数的和...
    99+
    2023-09-29
    python
  • Java基础之自定义类加载器
    目录一、类加载器关系二、基于本地class文件的自定义类加载器三、遇到的问题四、基于网络(url)class文件的自定义类加载器一、类加载器关系 自定义类加载器 创建一个类继承C...
    99+
    2024-04-02
  • python自定义函数报错未定义怎么解决
    当你调用一个自定义函数时出现 "未定义" 的错误,可能是因为以下几个原因:1. 函数没有被正确定义:确保你在调用函数之前已经正确定义...
    99+
    2023-10-10
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作