python基础1--基本数据类型+流程控制
?
一、基本数据类型
1、整型 int 就是整数
?
2、浮点型 float 就是小数
?
?
3、字符串
3.1、加了单引号、双引号、多引号的字符就认为是字符串
单引号和双引号没有什么区别,多引号用于多行
?
3.2、字符常用的方法:
字符拼接 用 "+" 号
?
strip():去掉字符串首尾的指定字符(不传参默认为空格)
lstrip():去掉字符串左边的指定字符(不传参默认为空格)
?
lower:转换成小写
upper:转换成大写
?
startswith,endswith:判断字符串以什么开始和以什么结束
?
format 格式化函数
接受不限个参数,位置可以不按顺序,也可以接受指定参数
?
split 字符串分割
join 连接字符串
?
replace 替换
?
find 查找子串第一次在母串中出现的位置,可以自己指定位置范围来搜查,找不到返回-1
?
count 计算出子串在母串中出现的次数,默认是在整个母串中查找
?
isdigit:判断是否为整型
isdecimal:判断是否为十进制数
isnumeric:可以判断中文数字和罗马数字
?
?
4、数组(list)
4.1、创建
?
?
4.2、增加
insert()插入
append()追加
extend()扩展
?
4.3、修改
?
4.4、删除
?
?
4.5、其他常用方法
index() 查找列表中的索引
count() 统计列表中指定字符出现的次数
reverse() 列表反转
sort() 排序
?
?
5、元组(tuple)对比列表来说,元组不可变
?
创建
?
查找
?
?
?
6、字典(dict)
创建
?
增加/修改;如果键在,则修改;如果键不在,则增加一个键
?
删除
info.pop(‘age‘)??# 根据键删除某一元素 d={‘Michael‘: 95, ‘Tracy‘: 85}
info.popitem()??# 随机删除
info.clear()??# {}
?
查询
dic[‘key‘] #返回字典中key对应的值,若key不存在字典中,则报错; dic.get(key, default = None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None) ‘key‘ in dic #若存在则返回True,没有则返回False dic.keys() 返回一个包含字典所有KEY的列表; dic.values() 返回一个包含字典所有value的列表; dic.items() 返回一个包含所有(键,值)元组的列表;
?
?
?
7、集合(set)
7.1、集合的特点
1、元素不可变
2、天生去重,在集合里没办法存重复的元素
3、无序,
?
7.2、创建、增删查
?
7.3、集合的关系运算
s_1024 = {"佩奇","老男孩","海峰","马JJ","老村长","黑姑娘","Alex"}
s_pornhub = {"Alex","Egon","Rain","马JJ","Nick","Jack"}
print(s_1024 & s_pornhub) # 交集, elements in both set
print(s_1024.intersection(s_pornhub)) # 交集
print(s_1024 | s_pornhub) # 并集 or 合集
print((s_1024.union(s_pornhub))) # 并集
print(s_1024 - s_pornhub) # 差集 , only in 1024
print(s_pornhub - s_1024) # 差集, only in pornhub
print(s_1024.difference(s_pornhub)) # 差集
print(s_1024 ^ s_pornhub) # 对称差集, 把脚踩2只船的人T出去
print(s_1024.symmetric_difference(s_pornhub)) #对称差集
?
?
二、流程控制
1、if else 分支判断
单分支
if 条件: 满足条件后要执行的代码
?
双分支
if 条件: 满足条件执行代码 else: if条件不满足就走这段
?
多分支
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
?
?
2、for 循环
遍历序列的项目,比如列表、字符串等
?
for else:
for 不是通过 break 跳出而中断的的情况下执行else
?
?
3、while 循环
while 条件: 执行代码...
当条件满足的时候执行代码
?
三、深copy和浅copy
直接赋值:其实就是对象的引用(别名)。
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy):?copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
?
浅拷贝实例:
?
深拷贝实例:
直观的看,深copy比浅copy复制的更深层次。浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层。
应用举例: