Python 语言的相关知识,内容包括数据类型、函数、对象、类。

一、数据类型

Python 数据类型可以分成两大类,基本类型和容器类型

  • 基本类型:整数、浮点数、复数、字符串、逻辑值
  1. number = 1
  2. number2 = 2.2
  3. number3 = 3+3j
  4. string = 'Hello'
  5. t = True / False
  6. type(number) # <class 'int'>
  • 容器类型:列表、元组、字典、集合
  1. list1 = [1,2,3,4,5]
  2. tuple1 = (2,3,4,5,6)
  3. dict1 = {'a':1, 'b':2, 'c':3}
  4. set1 = {1,3,4,6,8}

一些数学运算
**

  1. 5/2 # 2.5,这是完整的除法,得到完整的商
  2. 5//2 # 2,得到商的整数部分
  3. 5%2 # 1,得到余数
  4. divmod(5,2) # (2,1),得到一个元组,分别是商的整数部分和余数
  5. 2**3 # 8,2 的 3 次方
  6. abs(-3) # 3,求绝对值
  7. 7 > 3 >=4 # True,连续判断

一些逻辑值判断

  • 对于整数、浮点数和复数类型,0是“假”,所有非0的数值都是“真”
  • 对于字符串类型,空串(“”)是“假”,所有非空串都是“真”
  • 所有序列类型(包括字符串),空序列是“假”,所有非空的序列都是“真”
  • 空值None表示“无意义”或“不知道”,也是“假”

二、函数

在命名变量的时,我被“坑”了一波,不能直接使用 list、set、dict,因为这几个名字在 Python 已经是函数名了

  • 与 JavaScript 不同,JavaScript 可以直接使用 array,object 等,因为它的函数名是大写
  • 这里以后我要注意了,在变量名加一个后面接一个数字
  1. // 普通函数
  2. def f(a,b):
  3. return a+2*b
  4. f(1,2) # 5
  5. // 匿名函数
  6. f = lambda a,b:2*a+b
  7. f(2,3) # 7

map() 函数

  • Python 3.x 中,map() 返回一个迭代器,从前 Python 2.x 中是返回一个列表
  1. list1 = [1,2,3,4,5]
  2. f = lambda x:x**2
  3. list(map(f,list1)) # [1,4,9,16,25]

三、对象

  • Python 中的所有事物都是以对象形式存在,从简单的数值类型,到复杂的代码模块,都是对象
  • 对象以 id 作为标识,既包含数据(属性),也包含代码(方法),是某一类具体事物的特殊实例
  1. # 查看 id
  2. id(1) # 140714626041504
  3. # 查看属性和方法
  4. dir(1)

四、类

  1. # 定义一个矩形类
  2. class Reactangle:
  3. def __init__(self,length,width):
  4. self.length = length
  5. self.width = width
  6. self.name = "Name: reactangle"
  7. def area(self):
  8. return self.length*self.width
  9. def perimeter(self):
  10. return (self.length+self.width)*2
  11. reactangle = Reactangle(3,4)
  12. print(reactangle.area()) // 12
  13. print(reactanle.perimeter()) // 14
  14. # 定义一个正方形类,继承矩形类,额外可以计算出以它的边长形成的立方体体积
  15. class Square(Reactangle):
  16. def __init__(self,width):
  17. self.length = width
  18. self.width = width
  19. self.name = "Name: square"
  20. def volumn(self):
  21. return pow(self.width,3)
  22. square = Square(5)
  23. print(square.area()) // 25
  24. print(square.perimeter()) // 20
  25. print(square.volumn()) // 125

「@浪里淘沙的小法师」