欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3 知识点梳理

程序员文章站 2022-05-23 11:20:53
...

编码:# -*-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、%格式化

相关标签: 知识梳理