python函数定义

本文深入探讨Python中的函数定义,包括函数装饰器(带参和不带参)、类装饰器、@classmethod和@staticmethod的使用。通过示例解释装饰器的执行顺序和应用场景,强调它们在功能扩展和代码维护中的重要性。同时,文章介绍了如何使用"->"定义函数返回值类型。
摘要由CSDN通过智能技术生成

Function definitions函数定义[更新中]

考虑到函数部分为python中的难点和重点,这里主要对函数定义(Function Definitions)结构中的各部分进行展开介绍,主要包括装饰器(Decorator)、内置装饰器(@staticmethod, @classmethod, @property)、函数参数(Paramter_list)、标识符“->”等。该文主要用于记录和总结学习中遇到的问题,如有不正确的表述欢迎指正。
关键字:装饰器;类方法;静态方法;参数列表;

funcdef                 ::=  [decorators] "def" funcname "(" [parameter_list] ")" ["->" expression] ":" suite
decorators              ::=  decorator+
decorator               ::=  "@" dotted_name ["(" [argument_list [","]] ")"] NEWLINE
dotted_name             ::=  identifier ("." identifier)*
parameter_list          ::=  defparameter ("," defparameter)* ["," [parameter_list_starargs]]
                             | parameter_list_starargs
parameter_list_starargs ::=  "*" [parameter] ("," defparameter)* ["," ["**" parameter [","]]]
                             | "**" parameter [","]
parameter               ::=  identifier [":" expression]
defparameter            ::=  parameter ["=" expression]
funcname                ::=  identifier

注: [ ]里的内容为可选项," "内的符号为关键标识符,不可省略。
官方文档链接

funcdef

[decorators]
def funcname ( [parameter_list] ) ["->" expression] :
    suite

decorator:为装饰器(装饰器的书写规范为:@decorator_name),一个函数可以有多个装饰器,执行顺序是从下到上。funcname:为函数名称。parameter_list:为参数列表。-> expression:用于定义函数返回值类型(很少使用)。

decorators

函数可以被一个或多个装饰器表达式(decorator expressions)包装。装饰器可以是一个方法@deco_name,可以带参数@deco_name(args)也可以是一个类@deco_class_name。python中内置的装饰器有三个@classmethod@staticmethod@properety

应用场景

  • 场景一:因为业务需求需要记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值