一、importreload__import__

import是一个关键字,只引入一次
reload是一个函数,参数为一个字符串,它总是会重新引入
__import__是一个函数,与import关键字作用一样,它的好处就是可以动态引入包。因为import关键字后面只能跟确定的包名,而不能跟字符串参数,__import__可以在程序运行时确定引入哪一个包
要使用reload函数,需要引入imp包。在python2中,reload是一个内置函数,在python3中移动到了imp模块中
from imp import reload

二、doc string

以下代码意在告知如下知识点:

  • __all__跟dir(模块名)是一对
  • 在模块开头、类开头、函数开头,添加注释,即可使用help(module),help(className),help(functionName)查看doc string,也可以使用module.__doc__,fun.__doc__查看注释
"main module"__all__ = ["A", "f"]class A:"this is class A"def haha(self):print("haha")def f():"""F函数是最高级的函数"""pass

三、vars 、locals是内置函数,用于查看当前作用域内包含哪些东西

四、类中定义变量是n+1份

class A:cnt = 0def __init__(self):A.cnt += 1self.cnt = A.cnt
a = A()
print(a.cnt,A.cnt) #1,2
b = A()
print(a.cnt,b.cnt,A.cnt) #1,2,2
a.cnt = 10
print(a.cnt,b.cnt,A.cnt) #10,2,2

上例中,类A、对象a、对象b中各维持一份cnt

五、staticmethod和classmethod

python中类有三种方法:实例方法、staticmethod、classmethod
实例方法第一个参数必须是self参数,classmethod第一个参数必须是cls参数,staticmethod就跟普通的类外面的函数没啥区别
三种函数有两个调用主体:类和对象
类和对象都可以随便调用这三种方法。

class A:def haha(self):print("haha")@classmethoddef classHaha(cls):print("class haha")a = A()
A.haha(a)  # 类调用实例方法
a.classHaha()  # 实例调用类方法
a.classHaha(A) #报错:classHaha只有一个参数

六、异常

try:pass
except ZeroDivisionError:  # 捕捉一个错误pass
except (ArithmeticError, FloatingPointError) as e:  # 捕捉多个错误,as e有没有都可以pass
except:  # 捕捉全部异常,也可以写成except Exception as e以获取参数pass
else:  # 如果没有异常抛出pass
finally:  # 不管有没有异常pass

七、动态函数参数

Python库中常见的一种结构是def f(*args, **kargs),运行一个小例子立马就明白了

"""
用*args,**kargs可以代表一切参数
"""def f(*args, **kargs):print(args, kargs)f("one", 1, 2, 3, one=1, two=2)
  • *args表示全部的不知名字的参数,**kargs表示全部的知道名字的参数。
  • 有名字的参数后面不能出现没名字的参数
  • *args会吃掉全部的没名字的参数
  • def f(usr,*args,**kargs)这种定义是合法的,usr只会吃掉第一个形参,args会吃掉它遇见的一切没名字的形参。

Python知识总结(二)相关推荐

  1. Python基础数据之列表知识(二)

    Python基础数据之列表知识(二) 一.列表的特点 二.列表的排序 三.列表的嵌套 1.嵌套的基本使用 2.嵌套的示例 四.列表的循环删除 五.列表相关知识链接 一.列表的特点 1.有序 2.独立 ...

  2. [Python学习] 专题二.条件语句和循环语句的基础知识

            前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括:         1.条件语句:包括单分支.双分支和 ...

  3. python小白自学基础知识(二)附加(人狗大战游戏)

    python小白自学基础知识(二) 1.计算列表内数字的累加和 这里用到functools模块,以及该模块下的reduce函数 语法:reduce(function1,list1) 注:functio ...

  4. Python基础知识(二)

    目录 一.Python顺序结构 二.Python条件结构 三.Python循环结构 3.1.while模式 3.2.do...while模式 3.3.for 模式 3.4.嵌套循环语句 3.5.bre ...

  5. 《Python知识手册》,V3.0版来了,2021年,走起!

    "种一棵树,最好的时间是十年前,其次是现在." 一.前言 大家好,今天给大家推荐我的一位好朋友,公众号「Python数据之道」号主 Lemon . 从 2017 年开始,Lemon ...

  6. 太赞了!《Python知识手册》更新到v2.2版

    "种一棵树,最好的时间是十年前,其次是现在." 一.前言 大家好,今天给大家推荐我的一位好朋友,公众号「Python数据之道」号主 Lemon . 从 2017 年开始,Lemon ...

  7. 《Python知识手册》,高清pdf免费获取

    "种一棵树,最好的时间是十年前,其次是现在." 一.前言 大家好,今天给大家推荐我的一位好朋友,公众号「Python数据之道」号主 阳哥 . 从 2017 年开始,阳哥陆陆续续在公 ...

  8. 肝了我好久,《Python知识手册V1.0》出来了!!!

    最近这段时间,每天抽空整理了一份Python知识手册,当然也可以称为Python面试手册.以问答的形式去整理,包含基础篇.进阶篇.练习篇.爬虫篇.正则篇.Flask篇.Django篇.目前版本V1.0 ...

  9. python之路day9_亮仔的Python之路Day9——Python知识体系重组

    day9:2019-09-03 今日目的: 梳理python知识框架体系 温故而知新 最近总是在想 如何构建一个知识体系 我们经常接受碎片化的知识 但是缺乏积累,无法搭建属于自己的知识框架 我目前的解 ...

  10. autocad python二次开发_基于Python AutoCAD ActiveX 二次开发,pyautocad应用技术

    AutoCAD应用程序开发系列 基于Python AutoCAD ActiveX 二次开发技术 主要库:pyautocad==0.2.0 内容#:基于Python AutoCAD ActiveX 二次 ...

最新文章

  1. Mac OS Terminal Commands
  2. Docker 下安装 Spark
  3. puppeteer(headless chrome)实现网站登录
  4. AdaBoost基本原理
  5. 交叉编译成windows版
  6. C++17下map不常用的接口函数汇总
  7. 将Win10包含中文的用户名改为英文的,解决Anaconda navigator无法运行jupyter的问题
  8. 【机器学习】sklearn k-近邻算法
  9. 初识HTML、CSS
  10. 两种设置安卓背景图片的方法
  11. 在Dockerfile中安装本地whl包
  12. Memcached实战之单机部署----单实例/多实例
  13. 《麦肯锡方法》第2章探索分析问题的方法-思维导图
  14. Virtualbox安装虚拟机教程
  15. Access to Image at 'file:///Users canvas本地图片跨域报错解决方案
  16. 无法使用内置管理员账户打开应用商店
  17. 在Unity 2018中充分使用TextMesh Pro
  18. 给力回馈!亲~时间有限哦!
  19. 厄米共轭matlab,JuliaStatComputing
  20. C/C++交通处罚单处理系统

热门文章

  1. Chrome浏览器导入证书(谷歌浏览器导入burpsuite证书)
  2. C#MessageBox.Show报错,无法识别函数
  3. 6. OD-去除收费软件次数限制,去除退出软件时弹出的广告(比如可执行5次)
  4. 电子书下载:Ultra-Fast ASP.NET 4.5 2nd
  5. 同步异步 阻塞 非阻塞 异步调用 线程队列 协程
  6. 博客园与我的第一次相遇
  7. 第一百零四天 how can I 坚持
  8. 致敬百年南开!南开大学作译者30本必读经典著作
  9. 数据分析与数据化运营的关键知识点,全在这里了
  10. OMG!这1010本书的书名都是什么鬼?