一 数据类型
什么是数据类型
在日常生活中数据的表现形式多种多样,在程序中也是如此
为何学习数据类型
针对不同的数据采用最佳的数据类型来表示出该数据的价值
数据类型之整型int
整数,应用场景:年龄 班级人数 年份
代码实现 age = 18
数据类型之浮点型float
小数,应用场景: 身高,体重 薪资
代码实现 height = 1.83
数据类型之字符串str
文本类型的数据>>>:引号引起来的部分都是字符串
应用场景: 姓名 地址 爱好
代码实现 name = 'jason'
1.定义字符串有四种方式
name = 'jason' name1= "jason" name2 = '''jason'''
name3 = """jason"""
2.为啥字符串会有多种方式
字符串中编写文本可能会使用引号,为了避免冲突,所以有了多种方式
3.如何区分三引号是字符串还是注释
关注左侧是否含有赋值符号和变量名,如果有则为字符串,没有则为注释
数据类型之列表
可以存储多个数据值的类型,并且可以非常方便的取
应用场景:存储多个数据值,并且将来可能需要单独取其中一些
代码实现: name_list = ['jason','tony','kevin']
数据类型之字典dict
能够非常精确的存储和表达数据值的含义
代码实现:info_dict = {'username': 'jason', 'age': 18}
大括号括起来,内部可以存放多个数据,数据的组织形式是K:v键值对
1.k是对v描述性性质的信息(解释说明),一般都是字符串类型,v是真正的数据值,可以是任意数据类型
2. 按k取值
字典只能按k取值,因为字典是无序的,没有索引的概念
基本数据类型之布尔值bool
1.用来判断事物的对错 是否可行 只要用于流程控制中
2.只有两种状态
True
False
3.python 中所有数据都自带布尔值
4. 存储布尔值的变量名一般推荐使用is开头
基本数据类型之元组tuple
1.称为‘不可变’的列表(元组内索引绑定的内存地址不能修改)
2. 小括号括起来,内部存放多个数据值,数据值与数据值之间逗号隔开,数据值可以是任何数据类型
3. 代码实现
t1 = (11, 22, 33)
基本数据类型之集合set
1.集合只能用于去重和关系运算
2.集合内数据只能是不可变类型
3.大括号括起来,内部存放多个数据值,数据值与数据值之间逗号隔开,数据值不是k:V键值对
4.代码实现 s1 = {1, 2, 3, 4, 5}
与用户交互
input (获取到的数据都会统一处理成字符串类型)
print 输出内部信息
python2 print 数据值 print(数据值)
格式化输出
提前定义好一些内容,将来需要使用的时候可以局部修改
使用占位符 %s %d
基本运算符
1.数学运算符 + - * / // **
2.笔记运算符
< > <= >= == !=
常用赋值符
1.链式赋值
name = name1 = name2 = 'jason'
2. 交叉赋值
m, n = n, m
3. 解压赋值
name_list = ['jason', 'kevin', 'tony', 'oscar']
name1,name2,name3,name4 = name_list
逻辑运算符
and 与
an连接的多个条件必须全部成立,结果才成立
or 或
or连接的多个条件只要有一个成立 结果就成立
not 非
取反(类似于说反话)
成员运算符
判断个体在不在群体内
in 和 not in
身份运算符
is 判断内存地址是否相同
== 判断数据值是否相同
二 内存回收、流程控制和循环
垃圾回收机制
1. 引用计数
2. 标记清除
3. 分代回收
流程控制理论
流程控制:控制事物的执行流程
事物执行流程总共分为三种:
1. 顺序结构:从上往下执行
2. 分支结构:事物的执行会根据条件的不同做出不同的执行策略
3. 循环结构:事物的执行会根据某个条件出现重复
分支结构
1. 单if 分支结构
if 条件:
条件成立后才会执行的代码块
2. if...else...分支结构
if 条件:
条件成立之后执行的子代码
else:
条件不成立执行的子代码
3. if...elif...else 分支结构
if 条件1:
条件1成立之后执行的子代码
elif 条件2:
条件1不成立,条件2成立执行的子代码
else:
上述条件都不成立,执行的子代码
4. if的嵌套使用(有点难)
循环结构
while 条件:
条件成立之后执行的子代码(循环体代码)
break 强制结束循环体
continue 直接跳到条件判断处
while 条件:
循环体代码
else:
循环体代码没有被强制结束的情况下 执行完就会执行else子代码
三 for循环及range内置方法
while 循环补充说明
1. 死循环
2.while嵌套及全局标志位 is_flag
流程控制之for循环
主要场景:循环获取存储多个数据的数据内部数据值
for 循环语法结构
for 变量名 in 待遍历的数据:
for循环体代码
range方法
可以简单的理解帮我们产生一个内部含有多个数字的数据
for i in range(101):
print(i)
python2:
range 直接产生一个列表,内部含有多个数据值
xrange 和python3一致
四 数据类型内置方法1
整型内置方法与操作
int(其它数据类型)
进制转换
十进制转其它进制
print(bin(100)
print(oct(100))
print(hex(100))
浮点型内置方法与操作
float(其它数据类型)
字符串内置方法与操作
必须要掌握的方法
1.索引取值
2.切片操作
3.修改切片方向(间隔)
4.统计字符串中字符的个数 len
5.移除字符串首尾指定的字符(strip()) rstrip() lstrip()
6.切割字符串中指定的字符 split
7.字符串格式化输出 f'{变量名}str'
字符串了解的方法
1.大小写相关 upper() lower() isupper() islower()[True/False]
2.判断字符串是否纯数字 isdigit() [True/False]
3.替换字符串中指定的内容 replace(old,new)
4.字符串的拼接 ''.join() 拼接必须是字符串
5. 统计指定字符出现的次数 count
6.判断字符串的开头或者结尾 startswith()/endswith()
7.title/capitalize/swapcase 每个单词/第一个单词大写,原字符串取反
index,find 查找字符串索引位置,index找不到报错
列表内置方法与操作
要掌握的方法
1.索引取值
2.切片操作
3.间隔数
4.统计列表中数据值的个数 len
5.数据值修改 list[索引下标] = 修改的值
6.添加数据 appen、insert、extend
7.删除表数据 del、remove、pop
8.排序 sort默认升序 reverse=True
9.统计列表中某个值出现的次数 count
10.颠倒列表顺序 reverse
可变类型与不可变类型
可变类型:值改变,内存地址不变
不可变类型:值改变,内存地址肯定变
五 数据类型之内置方法2
字典相关操作
必须要掌握的方法
1.按k取值(不推荐使用)
2. 按内置方法get取值(推荐使用)
3.修改值数据 dict['key'] = 值修改
4.新增键值对 dict['key'] = 值修改
5.删除数据 del dict['key']
6.字典三剑客 keys,values,items
集合相关操作
1.类型转换 set() 必须是不可变类型
2.去重和关系运算
|合集 两者一共所有的朋友
&交集 两者相识的朋友
-差集 某者独有的朋友
^ 对称差 两者各自独有的朋友
> 父集
< 子集
字符编码理论
1.字符编码只针对文本数据
2.字符编码发展史
群雄割据--> 天下一统unicode-->utf系列--> utf8/utf16
字符编码实操
编码与解码
字符串.encode()
bytes数据类型.decode()
标签:总结,jason,代码,数据类型,第二周,条件,字符串,数据
From: https://www.cnblogs.com/winter-yu1989/p/16749065.html