一、基本操作
1.1、注释
快捷键:Ctrl + /
1.2、输入输出
输入
input()
输出
print()
1.3、数据和操作数据
二、容器
2.1、变量:用于存储(封装)数据的容器
好处:相同的数据,在程序内反复调用就需要反复书写,所以用容器来封装,便于修改和复用。
注意:本质上真正的容器是数据(结构)本身,变量名只是指向容器的指针。
命名规范:
1、 命名可以使用字母、数字、下划线
* 不推荐数字和下划线开头
2、最好做到望文知义
2.2、函数:存储(封装)对数据(变量)的操作
2.3、类和对象:存储数据(变量)和操作(函数)
(1)类:是对象的模板。
(2)对象:是类实例化后的实体,用来封装数据和封装行为的容器。
- 属性(变量):封装数据
- 方法(函数):封装行为(对数据的操作)
# 创建类
class Test: # 类名
def __init__(self, a, b): # 构造方法:类实例化时自动执行
self.s1 = a # 属性,命名为s1
self.s2 = b
def m1(self): # 方法1,必须有self参数,self代表这个对象自己
print('我是哈哈哈')
def m2(self, d): # 方法2
c = self.s1 + self.s2 + d # 对象内调用属性用self,外部传入不需要
self.m1() # 对象内调用方法也用self
return c
if __name__=='__main__':
# 调用类(将类实例化为对象)
x = Test(1, 2)
print(x) # 对象
# 调用对象
print(x.s1) # 调用对象属性(类外调用)
print(x.m2(3)) # 调用对象方法(类外调用)
三、Python数据类型
3.1、分类
- 单值数据类型
- 组合数据类型
3.2、单值数据类型
理解:小到已经不能分割的数据。
单值数据类型包括:
- int(整型)
- float(浮点型)
- bool(布尔型)
查看数据类型的方法:
type()
区分数据类型的原因:
主要:计算机性能有限,不同数据类型占据不同的内存空间(bool < int < float < str...)
次要:不同数据类型对应的数据操作不同
3.3、组合数据类型
理解:能再分割得更小的数据。
常用的组合数据类型:
1、str(字符串)
- 一串用引号(单双引号都可以)包裹起来的字符
- 本质上是“不能修改”的列表
2、list(列表,“[ ]”)
- 有顺序
- 自带索引,从0开始
- 一般存储同类型数据(表格的列)
3、dict(字典,“{ }”)
- 无顺序
- 自定义索引
- 一般存储不同数据类型(表格的行)
3.4、表格和Python列表字典可以相互转化
- 常用的是:列表内嵌套字典,列表内嵌套列表
- 通过括号嵌套可以存储更多维度的数据
四、Python操作数据
4.1、分类
- 运算(算数、赋值、比较、逻辑)
- 流程控制(顺序、分支、循环)
4.2、运算
4.2.1、算数运算
3 + 5 # 加
3 - 10 # 减
3 * 2 # 乘
3 / 2 # 除
3 // 2 # 除法取整
3 % 2 # 除法取余
3 ** 2 # 幂运算,乘方
3 ** (1/2) # 幂运算,开方
4.2.2、赋值运算(常用)
- =
- +=
- -=
- *=
- /=
4.2.3、比较运算
比较运算的值
- True
- False
4.2.4、逻辑运算
- and(且)
- or(或)
- not(非)
所有运算符都有优先级,搞不清就加括号改变运算顺序。
print(True and True)
print(True and False)
print(False and False)
print(True or True)
print(True or False)
print(False or False)
print(not True)
print(not False)
4.3、流程控制
- 顺序结构
- 分支结构
- 循环结构
- while循环
- for循环
(1)顺序结构:代码从上往下依次执行
(2)分支结构:程序执行流程在某些地方分叉,多线路择一执行
(3)循环结构:程序重复执行某段代码,或遍历组合数据
死循环:需要手动结束循环以终止程序
while True:
x = input('请输入整数:')
print('你输入的整数是:')
while循环:用于多次执行某块代码
for循环:特殊的while循环,用于遍历组合数据