一、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 = 0 def __init__(self):
A.cnt += 1
self.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") @classmethod
def 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. 接口测试基础——第7篇 简单的Python知识普及(二)之装饰器

    今天我们来学习python里面的“装饰器” 1.我在函数test运行前想先打印一些内容怎么办? def func(param):    print u"打印的内容"    para ...

  2. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  3. python数据处理技巧二

    python数据处理技巧二(掌控时间) 首先简单说下关于时间的介绍其中重点是时间戳的处理,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00 ...

  4. 一些Python中的二维数组的操作方法

    一些Python中的二维数组的操作方法 这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用 ...

  5. python排序之二冒泡排序法

    python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩 ...

  6. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  7. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  8. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

  9. Python/MySQL(二、表操作以及连接)

    Python/MySQL(二.表操作以及连接) mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. 外键 :可以进行联合外键,操作. mysql> create table y ...

  10. python下实现二叉堆以及堆排序

    python下实现二叉堆以及堆排序 堆是一种特殊的树形结构, 堆中的数据存储满足一定的堆序.堆排序是一种选择排序, 其算法复杂度, 时间复杂度相对于其他的排序算法都有很大的优势. 堆分为大头堆和小头堆 ...

随机推荐

  1. C++运算符重载(友元函数方式)

    我们知道,C++中的运算符重载有两种形式:①重载为类的成员函数(见C++运算符重载(成员函数方式)),②重载为类的友元函数. 当重载友元函数时,将没有隐含的参数this指针.这样,对双目运算符,友元函 ...

  2. Flask 学习(二)路由

    Flask  路由 在说明什么是 Flask 路由之前,详细阐述下 Flask “Hello World” 这一 最小应用的代码. Flask “Hello World” from flask imp ...

  3. An easier way to debug windows services

    Have you got tired of attaching the Visual Studio debugger to the service application? I got the sol ...

  4. Remove Nth Node From End of List leetcode java

    题目: Given a linked list, remove the nth node from the end of list and return its head. For example, ...

  5. WebSettings 文档 API 翻译 常用设置

    . setDefaultFontSize(int size)  Sets the default font size. The default is 16. setDefaultTextEncodin ...

  6. 遇到问题描述:Android Please ensure that adb is correctly located at问题解决

    遇到问题描述: 运行android程序控制台输出 [2013-11-04 16:18:26 - ] The connection to adb is down, and a severe error ...

  7. [转] 公司局域网中代码访问 github.com

    一. 文档清晰 tencent同事.推荐 https://www.chenyudong.com/archives/use-git-or-github-in-company-local-net.html

  8. Cocos Studio is EOL'd

    Cocos Studio is EOL'd Cocos Studio has been EOL'd as of April 2016. There will be no more releases o ...

  9. [CSS3]Clearfix

    <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="index ...

  10. (LeetCode 189)Rotate Array

    Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array ...