python输入数字输出列表_学习Python记笔记(1)输入输出_u文档R+,W+,a+的区别,输入空格分隔的多个数字省略括号输出列表打印转义符保留位,一,文件,rwa,方括号,转义字符,位数...

一、输入

1、标准输入

内置函数input(string)提供从默认标准输入——从键盘读取一行文本

函数返回值是输入的文本,str对象

参数string为提示文本,str对象,可选

str = input("Please input:")

回车结束输入

单行输入多数字,以空格分隔

numbers = list(map(int,input().split(" ")))

print(numbers)

2、文件

Ⅰ、打开文件

内置函数open(filename,mode,encoding=)提供打开文件功能

函数返回值是打开的文件,file对象

参数filename为文件名称,str对象,包括文件名+后缀,默认路径同当前.py文件

参数mode为操作模式,str对象,

可选

参数encoding为编码类型,str对项,

可选

file = open("text.txt","r+",encoding="gbk")

只有选对了mode才能进行有关读写操作

主要mode参数

模式描述

r

只读

(默认)

读取存在的文件

w

覆盖写入

文件存在则

覆盖

原有内容,文件不存在则新建

a

接续写入

文件存在则

续写

原有内容,文件不存在则新建

可选mode参数

模式描述

b

指定为二进制格式操作

+

读写模式*

r+、w+、a+的区别

mode

文件存在性

文件指针位置

r+

必须存在

开头

从头读取

从头覆盖写入

w+

不受限

开头

从头读取

从头覆盖写入

a+

不受限

末尾

末尾读取

末尾接续写入

Ⅱ、从文件读取

内置函数file.read(size)、file.readline()、file.readlines(sizehint)提供读取功能

file.read(size):

函数返回值是读取文本,str对象

参数size为读取字符数,int对象,

可选

,若省略或为负则为读取全部

file.readline():

函数返回值是读取至换行符“\n”之前的单行文本,str对象

file.readlines(sizehint):

函数返回值是读取所有行,str对象

参数sizehint为指定字节长度,int对象

若返回值为None则表示读取完毕

Ⅲ、写入文件

内置函数file.write(string)提供写入文件功能

函数返回值是写入字符数,int对象

参数string为待写入文本,str对象

Ⅳ、移动文件指针

内置函数file.seek(offset,from)提供移动文件指针功能

函数返回值是当前指针位置,表示从头开始的字节数,int对象

参数offset为移动字符数,int对象,正值表示向后移动,负值表示向前移动

参数from为移动的基准点,int对象,

可选

参数from

描述

0

文件开头 (默认)

1

当前位置

2

文件末尾

Ⅴ、当前指针位置

内置函数file.tell()提供查询当前指针位置功能

函数返回值是当前指针位置,表示从头开始的字节数,int对象

Ⅵ、关闭文件

内置函数file.close()提供关闭文件功能

函数返回值是None

处理文件有始有终,切记关闭文件

良好的处理文件习惯

为了避免未及时关闭文件,造成未知错误,请使用with关键字,它将自动关闭文件

with open("text.txt" , "w+") as f:

f.write("123")

str = f.read()

二、输出

1、标准输出

内置函数print(string1,string2,end=,sep=,)提供对象输出

参数string为输出对象,

可选

常用参数end为结尾输出符,

可选

,默认为换行符

常用参数sep为多个输出对象的分隔符,

可选

,默认为空格

a = 5

b = "a"

print(a,b,end="",sep="\t")

结尾不换行令end=""

要输出换行符可以不提供参数,即print()

小试pprint

pprint.pprint()能够规范输出的格式

from pprint import pprint

a = {

"nihao":"hello",

"xiexie":"thanks",

"shuben":"books",

"diannao":"computers"

}

b = (2,4,6)

c = "hello"

d = [a,b,c]

pprint(d)

观察输出,相较于print(),格式更整齐

省略方括号单行输出列表

某些情况需要输出列表,通常有两种思路:

a = [1,2,3]

for i in a:

print(i,end=" ")

a = [1,2,3]

print(*a,end="")

以文本输出转义字符

若字符串有转义字符,我们想以文本的形式输出,只用print(string)会将转义字符表达

a = "qwe\n"

print(a)

使用repr(string)可以不表达转义字符而以文本形式输出

a = "qwe\n"

print(repr(a))

2、str.format(string)美化输出

内置函数str.format(string)提供美化输出功能

函数返回值是美化后的字符串,str对象

参数string是待美化的字符串,str对象

age = 15

grade = 9

print('My age is {} and grade is {}'.format(age,grade))

类比C语言的%d、%c,前面的花括号会被后面的变量所替换

默认顺序同参数传入顺序

改变顺序可以在花括号内添加序号,默认第一个参数为0号

age = 15

grade = 9

print('My age is {1} and grade is {0}'.format(grade,age))

或给变量命名

print('My age is {age} and grade is {grade}'.format(grade=9,age=15))

可以设定默认值

print('My age is {age} and grade is {}'.format(9,age=15))

以上方法可以混合使用

数字的常用格式化输出

四舍五入保留小数

print('I have {:.2f} yuan'.format(14.5))

print('PI is {:.2f}'.format(3.141))

补足空位

print('I am No.{:03d}'.format(1))

print('It is {:.02f}'.format(1))

替代str.format——Python3.6+的f-sting

age = 15

grade = 9

print(f'My age is {grade} and grade is {age}')

四舍五入保留小数

print(f'I have {14.5:.2f} yuan')

import math

print(f'PI is {math.pi:.2f}')

补足空位

print(f'I am No.{1:03d}')

print(f'It is {1:.02f}')

三、小试数据的序列化和反序列化——pickle

为什么要使用pickle?

将程序的对象信息永久存储到文件,并可以重构之前存储的对象

文件要求:

一般后缀为pkl,是类文件对象,有read()、readline()接口

1、序列化操作

import pickle

a = 5

with open("data.pkl","wb") as f:

pickle.dump(a,f)

函数pickle.dump(obj,file,[,protocol])提供序列化功能

参数obj为变量名

参数file为存储到的pkl文件,file对象

2、反序列化操作

import pprint,pickle

with open("data.pkl","rb") as f:

a = pickle.load(f)

pprint.pprint(a)

函数pickle.load(file)提供反序列化功能

参数file为读取的pkl文件,file对象

pprint为规范格式输出,使得输出整齐易读

欢迎在评论区留言

感谢浏览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值