python学习
注释
变量
- 波尔类型
- true
- false
- String
- Number
- int
- float
- List(列表)
- Tuple(元组)
- Dictionary(字典)
转字符串 str()
转整数 int()
转浮点数 float()
转布尔类型 bool()
- 数字中,非0转换为bool都为True
- 字符串中,非空转换都为True
- 列表中,非空转换都为True
- 元组中,非空转换都为True
- 字典中,非空转换都为True
- 浮点数中,非0转换为bool都为True
赋值运算符
特殊的两个
- // 除完后取整
- ()提高运算优先级
- a**b 指数
多个变量同时给值
a,b,c = 1,2,3
复合运算符
- a += b # a = a + b
- a -= b
- a *= b
- a /= b
- a //= b
- a %= b
- a ** = b
比较运算符
- a > b
- a < b
- a >= b
- a <= b
- a != b
- python2 不等 使用 <> python3 已经绝迹
逻辑运算符
- and 与
- or 或
- not 取反
字符串高级
- 获取长度 len
- 查找内容 find 如果存在返回该内容在字符串中第一次出现的索引值,不存在返回-1
- 判断: startwith,endswith 判读字符串是不是以什么开头或结尾
- 计算出现的次数: count 返回一个字符串在 一个字符串中出现的次数
- 替换内容: replace
- 切割字符串: split
- 修改大小写:upper,lower
- 空格处理:strip
- 字符串拼接:join 这个是将一个字符串在另外一个字符串中一一对应的进行添加并拼接,不友好,不建议用
列表高级:
- 添加
- append : 在末尾添加元素
- inset: 在指定位置插入元素
- extend:合并两个列表
- 修改
- 修改列表元素,通过列表下标进行赋值修改list[1] = ‘xxx’
- 查找
- in : 判断某一个元素是否在列表中
- not in : 判断某个元素是否不在列表中
- 删除
- del : 根据下标进行删除
- pop : 删除最后一个元素
- remove :根据元素的值进行删除
- 元组高级:
- 和列表相似,不同之处在于**元组的元素不能修改**。元组·使用小括号,列表使用方括号
- 当元组中只有一个元素的时候,那么他是整型数据, 字符串同理
- 定义只有一个元素的元组,需要在唯一的元素后面写一个逗号 eg : (2,)
切片
- 指对字符串、列表、元组的数据截取
- [0:5:1] 左闭右开,开始下标,结束下标,步长,默认是1
字典的高级:
-
字典查询
- dict[‘name’]
- 使用[]的方式,获取字典中不存在的key的时候, 会发生一次 keyerror
- 不能使用.的方式进行访问字典数据
- 可以使用dict.get(‘name’),使用get方式获取字典中不存在的key不会报错,会返回None
-
字典修改
- 使用dict[‘name’] = 'xxx’的方式进行修改
- 使用dict.get(‘name’) = ‘jjj’ 不可以
-
字典添加
- 如果使用变量名字[‘键’] = 数据时 这个键如果在字典中不存在, 那么就会变成新增元素
- 如果这个键在字典中存在,那么就会变成这个元素(既是修改)
-
字典删除
- 删除 字典中指定的某一个元素 del dict[‘name’]
- 删除 整个字典 del dict
- 字典清空 dict.clear() 指的时将字典中所有的数据 都删除掉 而保留字典的结构
-
字典的遍历
- 1.遍历字典的key,获取字典中所有的key值
-
for key in person.keys():
-
print(key)
-
- 2.遍历字典的value,字典中所有的value值
-
for value in dict.values():
-
print(value)
- 3.遍历字典的key和value,dict.items()方法
-
for key,value in dict.items():
-
print(key,value) 这样输出不会带括号
- 4.遍历字典的项/元素
-
for item in dict.items():
-
print(item) key和value带括号
- 1.遍历字典的key,获取字典中所有的key值
函数
- def
文件
# open(文件的路径,模式)
# 创建\打开一个test.txt文件
# 可以使用绝对路径或者相对路径,不能创建文件夹,暂时需要手动创建
f = open('C:/Users\WY\Desktop/text.txt', 'a')
f.write('hello world')
f.close()
# write 写方法 w
fp = open('C:/Users\WY\Desktop/text.txt', 'w')
fp.write("hello\n" * 5)
fp.close()
# a 追加
# 读数据
fp = open('C:/Users\WY\Desktop/text.txt', 'r')
# content = fp.read()
# print(content)
# 默认情况下,read时一字节一字节的读取
# readline是一行一行的读取 但是只能读取一行
content = fp.readline()
print(content)
# readlines可以按照行来读取,但是会将所有的数据都读取到,并且以一个列表形式返回
# 而列表的元素 是一行一行的数据
fp.readlines();
序列化和反序列化
# 序列化的两种方式
# dumps()
# fp = open('test.txt','w')
# 定义一个列表
# name_list = ['zs','ls']
import json
# 序列化
# 将python对象dict,变成json字符串
# names = json.dumps(name_list)
# 将names写入到文件中
# fp.write(names)
# fp.close()
# dump 在将对象转换为字符串的同时,指定一个文件对象,然后把转后的字符串写入到这个文件里
# json.dump(name_list,fp)
# fp.close()
# 反序列化
# 将json的字符串变成一个python对象
fp = open('test.txt', 'r')
# print(content)
# print(type(content))
#
# contents = json.loads(content)
# print(contents)
# print(type(contents))
contents = json.load(fp)
print(type(contents))
print(contents)
fp.close()
异常
# try:
# 可能出现异常的代码
# except 异常的类型
# 友好的提示
try:
fp = open('a.txt', 'r')
fp.read()
except FileNotFoundError:
print("系统....")