Python基础入门知识(1)

一、输入与输出

1.print()函数(输出用户所表达的东西)

输出格式化整数

 

表1 

%c字符串及ASCII码
%s字符串
%d十进制有符号整数
%u十进制无符号整数
%o八进制无符号整数
%x十六进制无符号整数
%X十六进制大写无符号整数
%e科学计数法的浮点数字
%E科学计数法的浮点数字(用E代替e)
%f用小数点符号的浮点数字
%g用%e或%f的浮点数字
%G类似于%g的浮点数字
%p指针(用十六进制打印值的内存地址)
%n

存储输出字符的数量放进参数列表的下一个变量中

表2 

*定义宽度或者是精度
-常用左对齐
+在正数面前显示正号
<sp>在正数面前显示空格
#在八进制里显示”0“;十六进制里显示”OX“
0数字前面填充0而不是默认的空格
%'%%'输出一个单一的’%‘
(var)映射变量
m.n字段宽为m,位数(精度)为n

类型转换(float)

2.format()函数格式化输出

format()位置映射

 由输出可知,print()函数前面的{}对应了3.141596,而后面的{}对应了926,中间:为分隔符

format()关键字映射

由输出可知,第一个括号中的server与后面的server=’pig:‘为映射关系,第二个括号中的1和第三个括号中的0为索引值,注明了输出的方向。

填充对齐

在填充对齐中,”^“为居中对齐,”<“为左对齐,”>“为右对齐。

:>2代表向右对齐两格

3.读写文件open()的使用

open()函数运用形式:open(filename,mode)filename是字符串的值,mode是打开的模式。

完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。

mode 参数有:

模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

默认为文本模式,如果要以二进制模式打开,加上 b 。

file 对象

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

序号方法及描述
1

file.close()

关闭文件。关闭后文件不能再进行读写操作。

2

file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3

file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4

file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

5

file.next()

返回文件下一行。

6

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7

file.readline([size])

读取整行,包括 "\n" 字符。

8

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。

9

file.seek(offset[, whence])

设置文件当前位置

10

file.tell()

返回文件当前位置。

11

file.truncate([size])

截取文件,截取的字节通过size指定,默认为当前文件位置。

12

file.write(str)

将字符串写入文件,返回的是写入的字符长度。

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

4.str()函数与repr()函数

str()函数与repr()函数在很多时候是相同的,除了字符串类型以外——字符串类型会在外层多一层引导,这种特性在eval()操作的时候会有显著的效果。另外一个区别是,当需要直接用对象进行输出调用时用repr(),print()输出调用时用str()。

简单来说,str()函数和repr()函数的区别在于:

str()函数:将值转化为适宜人阅读的字符串的形式,是面向客户的。

repr()函数:将值转化为供解释器读取的字符串形式,是面向程序员的。

将整型转换为字符串

>>> a = 123  #int类型
>>> type(a)
<class 'int'>
>>> str(a)
'123'
>>> type(str(a))
<class 'str'>
>>> print(str(a))  #print输出时会去掉引号,但是仍然是str类型
123
>>> repr(a)
'123'
>>> type(repr(a))
<class 'str'>
>>> print(repr(a))
123
>>> len(repr(a))  #转换后的数据都是'123',所以长度是3
3
>>> len(str(a))   #转换后的数据都是'123',所以长度是3
3

将字符串再转换为字符串

>>> repr('abd')  #repr转换后是在'abd'的外层又加了一层引号
"'abd'"
>>> str('abd')   #str转换后还是原来的值
'abd'
>>> str('abd') == 'abd'
True
>>> repr('abd') == 'abd'
False
>>> len(repr('abd'))  #repr转换后的字符串和str转换后的字符串个数都是不一样的
5
>>> len(str('abd'))
3

当我们把一个字符串传给 str() 函数再打印到终端的时候,输出的字符不带引号。而将一个字符串传给 repr() 函数再打印到终端的时候,输出的字符带有引号。

造成这两种输出形式不同的原因在于:

print 语句结合 str() 函数实际上是调用了对象的 __str__ 方法来输出结果。而 print 结合 repr() 实际上是调用对象的 __repr__ 方法输出结果。下例中我们用 str 对象直接调用这两个方法,输出结果的形式与前一个例子保持一致。

>>> print('123456789'.__repr__())

'123456789'

>>> print('123456789'.__str__())

123456789

不同数据类型的不同处理

某对象没有适于人阅读的解释形式的话, str() 会返回与repr()等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的处理方式。

代码实例:

>>> listA = [1,2,3]

>>> str(listA)

'[1, 2, 3]'

>>> repr(listA)

'[1, 2, 3]'

>>>

结果是相同的。

而字符串和浮点数,它们的处理方式不同。
注意:Python3和Python2版本str函数处理浮点数时是不同的,Python3版本下,str和repr会返回相同的结果,Python2下则不会, 具体看下面的例子:

Python3版本:

>>> string = 'Hello, PythonTab.com'

>>> str(string)

'Hello, PythonTab.com'

>>> repr(string)

"'Hello, PythonTab.com'"

>>> str(1.0/7.0)

'0.14285714285714285'

>>> repr(1.0/7.0)

'0.14285714285714285'

Python2版本:

>>> str(1.0/7.0)

'0.142857142857'

>>> repr(1.0/7.0)

'0.14285714285714285'

两个函数之间的对比:

 

 

strip() 方法

用于移除字符串头尾指定的字符(默认为空格)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法

strip()方法语法:

str.strip([chars]);

参数

  • chars -- 移除字符串头尾指定的字符序列。

返回值

返回移除字符串头尾指定的字符生成的新字符串。

​ 

5.input()函数与raw_input()函数(接收用户输入的函数)

python raw_input() 用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

1、在 Python2.x 中 raw_input( ) 和 input( ),两个函数都存在,其中区别为:

  •  raw_input( ) 将所有输入作为字符串看待,返回字符串类型。
  •  input( ) 只能接收“数字”的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

2、在 Python3.x 中 raw_input( ) 和 input( ) 进行了整合,去除了 raw_input( ),仅保留了 input( ) 函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值