一、字面量
1、定義
- 字面量(literal)是以變量或常量給出的原始數(shù)據(jù)。在程序中可以直接使用字面量
- 字面量的類型
數(shù)值型
字符型
布爾型
字面量集合:列表(list),元組(tuple),字典(dict)和集合(set)
特殊字面量:none
2、字面量插值
- 字面量插值就是將變量、常量以及表達式插入的一種技術(shù),它可以避免字符串拼接的問題,很多語言都支持了此功能
- 字面量插值方法:
1、格式化輸出
2、通過sting.format()方法拼接
3、通過F-strings拼接,一種字符串格式化機制(python3.6版本以后才出現(xiàn))
1)格式化輸出 %的用法
| 轉(zhuǎn)換說明符 | 解釋 |
|---|---|
| %d、%i | 轉(zhuǎn)換為帶符號的十進制整數(shù) |
| %o | 轉(zhuǎn)換為帶符號的八進制整數(shù) |
| %x、%X | 轉(zhuǎn)換為帶符號的十六進制整數(shù) |
| %e | 轉(zhuǎn)換為科學(xué)計數(shù)法表示的浮點數(shù)(e小寫) |
| %E | 轉(zhuǎn)換為科學(xué)計數(shù)法表示的浮點數(shù)(E大寫) |
| %f、%F | 轉(zhuǎn)換為十進制浮點數(shù) |
| %g | 智能選擇使用%f或%e格式 |
| %G | 智能選擇使用%F或%E格式 |
| %c | 格式字符及其ASCll碼 |
| %r | 使用repr()函數(shù)將表達式轉(zhuǎn)換為字符串 |
| %s | 使用str()函數(shù)將表達式轉(zhuǎn)換為字符串 |
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版本以后才出現(xiàn)的一種字符串格式化機制)
- 使用方法:f'{變量名},'
- 注意
大括號里面可以是表達式或者函數(shù)
大括號內(nèi)不能轉(zhuǎn)義,不能使用'\'
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的能力是由操作系統(tǒng)提供的,而現(xiàn)在的操作系統(tǒng)不允許普通程序直接操作磁盤,所以讀寫文件時需要請求操作系統(tǒng)打開一個對象,這就是我們在程序中要操作的文件對象
- 不同的編程語言讀寫文件的操作步驟大體都是一樣的,部分為以下幾個步驟
1、打開文件、獲取文件描述符
2、操作文件描述符(讀 | 寫)
3、關(guān)閉文件
- 注意:文件讀寫操作完成后,應(yīng)該及時關(guān)閉
2、參數(shù)說明
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- name:文件名稱的字符串值
- mode:只讀r,寫入w,追加a,默認文件訪問模式為只讀(r)。
- buffering:寄存區(qū)緩存
0:不寄存
1:訪問文件時會寄存行
>1:寄存區(qū)的緩存大小
負值:寄存區(qū)的緩沖大小則為系統(tǒng)默認
- 文件讀取的方法
f = open('test.txt'方法,'r')
f.read()
f.close()
- 最優(yōu)寫法
with open('flie名稱','r') as f
- 讀取文件常用的方法
read() 讀取文件中的所有內(nèi)容(缺點:當(dāng)文件內(nèi)容非常大,大于內(nèi)存時,無法使用這個方法)
readable() 判斷文件是否可讀
readline() 每次讀取一行(包括行結(jié)束符),返回的是一個字符串對象,保持當(dāng)前行的內(nèi)存
readlines() 讀取所有行的內(nèi)容,放在列表中
# 文件讀取
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格式轉(zhuǎn)化
1、定義
- json是一種非常流行的,輕量級的數(shù)據(jù)交換格式
- json對人友好,易于讀寫(比xml,protobuf要好)
- json對機器友好,易于解析和生成
- json是由列表和字典組成的
2、使用場景
- 生成:將對象生成為字符串,存入文件,數(shù)據(jù)庫,在網(wǎng)絡(luò)傳輸?shù)?/li>
- 解析:解析來自文件,數(shù)據(jù)庫,網(wǎng)絡(luò)傳輸?shù)淖址蓀ython對象
- 跨語言的數(shù)據(jù)交換:比如python和c/c++/java/javascripts的數(shù)據(jù)交換
3、如何使用json(json是標準庫)
- import json
4、常用的幾種方法
- json.dumps(python_obj) 把數(shù)據(jù)類型轉(zhuǎn)換成字符串
- json.loads(json_string) 把字符串轉(zhuǎn)成json
- json.dump() 把數(shù)據(jù)類型轉(zhuǎn)換成字符串并存儲在文件中
- json.load(file_stream) 把文件打開,把里面的字符轉(zhuǎn)換成數(shù)據(jù)類型
# ison使用
import json
info = [{
'name': 'summer',
'age': 25,
'other': None
}, {
'name': '03',
'age': 25,
'other': None
}]
# dumps:將python中的字典轉(zhuǎn)換為字符串
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:將字符串轉(zhuǎn)化為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}]