博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018年4月17日笔记
阅读量:6891 次
发布时间:2019-06-27

本文共 720 字,大约阅读时间需要 2 分钟。

  • 装饰器

作用:在不改变原函数功能的前提下,给现有函数新增功能

装饰器通过@来使用,相当于把原函数作为参数,传给现有函数

 

  • 例1: 已有函数hello()如下,在hello()函数打印结果前后各加一行字符,作为现有函数的打印结果

      def hello():

        print("Hello World!")

 

  •  例2:在例1的基础上,原函数hello()带有参数

 

  •  例3:在例2原函数带参数的情况下,现有函数startEnd()也带有参数

 

  • 个人总结:

在原函数和现有函数都带参数的情况下(例3):

  1. 先传现有函数startEnd()本身的参数author
  2. 再将原函数hello()作为参数fun,传给现有函数startEnd()
  3. 最后传原函数hello()的参数name

 

 

  • 命名规范
  1. 函数名的首字母小写,函数名中每个单词的首字母大写(首字母除外),如 def newFunc():
  2. 类名的首字母大写,类名中每个单词的首字母大写,如 class NewClass():
  3. 在进行类的实例化时,对象名要和类名对应起来,且首字母小写,如 newClass = NewClass()

 

 

  •  模块、类、函数的区别
  1. 模块module:是一个 Python 文件,以 .py 结尾,包含了 类、函数、变量的定义和Python语句
  2. 类class:用来描述具有相同的属性和方法的对象的集合
  3. 函数function:组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
  4. 模块 > 类 > 函数
  5. 模块和目录的区别:模块必须有__init__.py文件

 

转载于:https://www.cnblogs.com/karl-python/p/8870912.html

你可能感兴趣的文章
建造模式
查看>>
BZOJ 4025: 二分图
查看>>
openNebula rgister img instance vms error collections
查看>>
error Infos
查看>>
PL/sql配置相关
查看>>
阿里云产品头条(2017年12月刊)
查看>>
IntelliJ IDEA 社区版没有 Spring Initializr
查看>>
inux多线程顺序控制的示例
查看>>
jquery实用的一些方法
查看>>
质数方阵
查看>>
jQuery $.each用法
查看>>
C语言结构体指针成员强制类型转换
查看>>
网络对抗技术作业一
查看>>
最短路(Floyd_Warshall) POJ 2240 Arbitrage
查看>>
spring boot 配置mybatis plus 控制台打印sql
查看>>
Windows系统安装Apache-tomacat
查看>>
补习系列(11)-springboot 文件上传原理
查看>>
《用正确的方法解决问题100%》读书笔记
查看>>
CodeChef March Challenge 2019题解
查看>>
STL容器底层数据结构的实现
查看>>