python3 知识点梳理
编码:# -*-coding:utf-8-*-
标识符、保留字、注释、多行语句、数字类型、字符串
标准数据类型:数字、字符串、列表、元组、组合、集合、字典
集合:可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
运算符:算术、比较、赋值、逻辑、位、成员in /not in
、身份is /is not
常用模块
os
sys
glob:文件通配符
re
math
random
urllib
time、datetime
zlib
timeit:性能度量
json:json.dumps()、json.loads()
>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']
类
两个下划线开头为私有属性,只能在类中使用
继承
#!/usr/bin/python3
#类定义
class people:
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
#定义构造方法
def __init__(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s 说: 我 %d 岁。" %(self.name,self.age))
#单继承示例
class student(people):
grade = ''
def __init__(self,n,a,w,g):
#调用父类的构函
people.__init__(self,n,a,w)
self.grade = g
#覆写父类的方法
def speak(self):
print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
s = student('ken',10,60,3)
s.speak()
>>> ken 说: 我 10 岁了,我在读 3 年级
运算符重载
实例(Python 3.0+)
#!/usr/bin/python3
class Vector:
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return 'Vector (%d, %d)' % (self.a, self.b)
def __add__(self,other):
return Vector(self.a + other.a, self.b + other.b)
v1 = Vector(2,10)
v2 = Vector(5,-2)
print (v1 + v2)
错误和异常
try:
xxxx
except:
xxxx
else:
xxxxx
finally:
xxxx
抛出异常、自定义异常
数字
类型转换函数
数学函数
随机数函数
三角函数
数学常量:pi 、e
字符串
转义字符
字符串格式化
字符串内建函数
列表
删除:del
添加:
统计:
追加:
索引:
插入:
反向:
排序:
清空:
复制:
条件语句
if age<0:
xxxx
elif age = 0:
xxxx
else:
xxx
迭代与循环
next()函数
StioIteration停止迭代
函数与不可变类型
- 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
- 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
关键字参数、默认参数、不定长参数
#!/usr/bin/python3
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vartuple)
# 调用printinfo 函数
printinfo( 70, 60, 50 )
以上实例输出结果:
70
(60, 50)
加了两个星号 ** 的参数会以字典的形式导入。
实例(Python 3.0+)
#!/usr/bin/python3
# 可写函数说明
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)
以上实例输出结果:
1
{'a': 2, 'b': 3}
声明函数时,参数中星号 * 可以单独出现,例如:
def f(a,b,*,c):
return a+b+c
#如果单独出现星号 * 后的参数必须用关键字传入。
>>> def f(a,b,*,c):
... return a+b+c
...
>>> f(1,2,3) # 报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() takes 2 positional arguments but 3 were given
>>> f(1,2,c=3) # 正常
6
匿名函数:lambda [arg1 [,arg2,.....argn]]:expression
作用域:global、nonlocal
数据结构
遍历技巧:items()、enumerate()、zip()、reversed()、sorted()
模块
if __name__ == '__main__':
xxxxx
dir()函数
输入输出
str()、repr()、rjust()、str.format()、zfill、%格式化
上一篇: 根据当前页面url进行地址补全(采集用)
下一篇: python基本知识梳理