一、字面量
1、定义
- 字面量(literal)是以变量或常量给出的原始数据。在程序中可以直接使用字面量
- 字面量的类型
数值型
字符型
布尔型
字面量集合:列表(list),元组(tuple),字典(dict)和集合(set)
特殊字面量:none
2、字面量插值
- 字面量插值就是将变量、常量以及表达式插入的一种技术,它可以避免字符串拼接的问题,很多语言都支持了此功能
- 字面量插值方法:
1、格式化输出
2、通过sting.format()方法拼接
3、通过F-strings拼接,一种字符串格式化机制(python3.6版本以后才出现)
1)格式化输出 %的用法
转换说明符 | 解释 |
---|---|
%d、%i | 转换为带符号的十进制整数 |
%o | 转换为带符号的八进制整数 |
%x、%X | 转换为带符号的十六进制整数 |
%e | 转换为科学计数法表示的浮点数(e小写) |
%E | 转换为科学计数法表示的浮点数(E大写) |
%f、%F | 转换为十进制浮点数 |
%g | 智能选择使用%f或%e格式 |
%G | 智能选择使用%F或%E格式 |
%c | 格式字符及其ASCll码 |
%r | 使用repr()函数将表达式转换为字符串 |
%s | 使用str()函数将表达式转换为字符串 |
name = 'sumemr'
str = 'my name is %s,my age is %d' %(name,25)
print(str)
>>>my name is sumemr,my age is 25
2)format()方法
- 用法:str.format()可以将
字符串 举例:print('we are the {} and {}'.format('summer', '03'))
列表 举例 print('we are the {0} and {1}'.format(*listdata))
字典 举例:print('my name is {name},age is {age}'.format(**dictdata))
3)F-strings方法(python3.6版本以后才出现的一种字符串格式化机制)
- 使用方法:f'{变量名},'
- 注意
大括号里面可以是表达式或者函数
大括号内不能转义,不能使用'\'
name = 'summer'
print(f'my name is {name}')
# 可用各种方法
print(f'my name is {name.upper()}')
# 可以是表达式
print(f'1+1 is {1 + 1}')
二、文件读取
1、定义
- 文件读取是一种常见的IO操作,操作I/O的能力是由操作系统提供的,而现在的操作系统不允许普通程序直接操作磁盘,所以读写文件时需要请求操作系统打开一个对象,这就是我们在程序中要操作的文件对象
- 不同的编程语言读写文件的操作步骤大体都是一样的,部分为以下几个步骤
1、打开文件、获取文件描述符
2、操作文件描述符(读 | 写)
3、关闭文件
- 注意:文件读写操作完成后,应该及时关闭
2、参数说明
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- name:文件名称的字符串值
- mode:只读r,写入w,追加a,默认文件访问模式为只读(r)。
- buffering:寄存区缓存
0:不寄存
1:访问文件时会寄存行
>1:寄存区的缓存大小
负值:寄存区的缓冲大小则为系统默认
- 文件读取的方法
f = open('test.txt'方法,'r')
f.read()
f.close()
- 最优写法
with open('flie名称','r') as f
- 读取文件常用的方法
read() 读取文件中的所有内容(缺点:当文件内容非常大,大于内存时,无法使用这个方法)
readable() 判断文件是否可读
readline() 每次读取一行(包括行结束符),返回的是一个字符串对象,保持当前行的内存
readlines() 读取所有行的内容,放在列表中
# 文件读取
file = '/Users/zhongfangying/summer/code/python/file1'
f = open(file, 'r')
print(f.read())
f.close()
# 用这种方法可以不用close方法,会自动对文件进行回收
with open(file, 'rt') as f:
print(f.readline())
三、json格式转化
1、定义
- json是一种非常流行的,轻量级的数据交换格式
- json对人友好,易于读写(比xml,protobuf要好)
- json对机器友好,易于解析和生成
- json是由列表和字典组成的
2、使用场景
- 生成:将对象生成为字符串,存入文件,数据库,在网络传输等
- 解析:解析来自文件,数据库,网络传输的字符串成python对象
- 跨语言的数据交换:比如python和c/c++/java/javascripts的数据交换
3、如何使用json(json是标准库)
- import json
4、常用的几种方法
- json.dumps(python_obj) 把数据类型转换成字符串
- json.loads(json_string) 把字符串转成json
- json.dump() 把数据类型转换成字符串并存储在文件中
- json.load(file_stream) 把文件打开,把里面的字符转换成数据类型
# ison使用
import json
info = [{
'name': 'summer',
'age': 25,
'other': None
}, {
'name': '03',
'age': 25,
'other': None
}]
# dumps:将python中的字典转换为字符串
data = json.dumps(info, sort_keys=True, indent=4)
print(data)
# 存储到文件中
json.dump(info, open('E:\code\python\data\json_dump.json', 'w'))
打印出
[
{
"age": 25,
"name": "summer",
"other": null
},
{
"age": 25,
"name": "03",
"other": null
}
]
import json
# loads:将字符串转化为json
str1 = '''
[{
"name":"sumemr",
"age":25
},{
"name":"xulinshan",
"age":26
}]
'''
# print(type(str1))
data = json.loads(str1)
# print(type(data))
print(data)
打印出
[{'name': 'sumemr', 'age': 25}, {'name': 'xulinshan', 'age': 26}]