学习笔记:Python3菜鸟教程 Part4

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27022241/article/details/85773885

                         学习笔记:Python3菜鸟教程 Part4

12 Python3输入和输出

一、标准输入输出

1.打印到屏幕

    产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式。这个函数传递表达式转换为一个字符串。

print ("Python is really a great language,", "isn't it?")

output:
Python is really a great language, isn't it?

2.读取键盘输入

    Python2中有两个内置的函数可从标准输入读取数据,它默认来自键盘。这些函数分别是:input() 和 raw_input()。但在Python3中,raw_input()函数已被弃用。此外, input() 函数是从键盘作为字符串读取数据。

x=input("请输入x=")
y=input("请输入y=")
z=x+y
print("x+y="+z)

'''
output:
请输入x=111
请输入y=222
x+y=111222
'''

     可以看到input的返回值永远是字符串,当我们需要返回int型时需要使用int(input())的形式,例如:

x=int(input("请输入x="))
y=int(input("请输入y="))
z=x+y
print("x+y=",z)

'''
output:
请输入x=111
请输入y=222
x+y= 333

'''

3.旧式字符串格式化输出

    % 操作符可以实现字符串格式化。 它将左边的参数作为类似 sprintf() 式的格式化字符串, 而将右边的代入, 然后返回格式化后的字符串. 例如: 

import math
print('常量 PI 的值近似为:%5.3f。' % math.pi)

#output:
#常量 PI 的值近似为:3.142。

    因为 str.format() 比较新的函数, 大多数的 Python 代码仍然使用 % 操作符。但是因为这种旧式的格式化最终会从该语言中移除, 应该更多的使用 str.format()。

4.格式化输出

    一般来说,我们希望更多的控制输出格式,而不是简单的以空格分割。这里有两种方式:

(1)第一种是由自己控制。使用字符串切片、连接操作以及 string 包含的一些有用的操作。

    这些方法并不会写任何东西,它们仅仅返回新的字符串。

string对象的方法 语法 参数 返回值
rjust() str.rjust(width[, fillchar]) width -- 指定填充指定字符后中字符串的总长度;
fillchar -- 填充的字符,默认为空格

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。

如果指定的长度小于字符串的长度则返回原字符串

ljust() str.ljust(width[, fillchar]) width -- 指定填充指定字符后中字符串的总长度;
fillchar -- 填充的字符,默认为空格

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串。

如果指定的长度小于字符串的长度则返回原字符串

center() str.center(width[, fillchar]) width -- 字符串的总宽度。
fillchar -- 填充字符

返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
zfill() str.zfill(width) width -- 指定字符串的长度。原字符串右对齐,前面填充0 返回指定长度的字符串

(2)第二种是使用str.format()方法。

    通过{}和:来代替传统%方式。

    位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表的形式。

  • 使用位置参数 
li = ['hoho',18]
print('my name is {} ,age {}'.format('hoho',18))
#output:my name is hoho ,age 18
print('my name is {1} ,age {0}'.format(10,'hoho'))
#output:my name is hoho ,age 10
print('my name is {1} ,age {0} {1}'.format(10,'hoho'))
#output:my name is hoho ,age 10 hoho
print('my name is {} ,age {}'.format(*li))
#output:my name is hoho ,age 18
  •  使用关键字参数

    关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可 。  

hash = {'name':'hoho','age':18}
print('my name is {name},age is {age}'.format(name='hoho',age=19))
#output:my name is hoho,age is 19
print('my name is {name},age is {age}'.format(**hash))
#output:my name is hoho,age is 18
  • 填充与格式化
格式:{0:[填充字符][对齐方式 <^>][宽度]}.format()

print('{0:*>10}'.format(20))  #右对齐
#output:********20

print('{0:*<10}'.format(20))  #左对齐
#output:20********

print('{0:*^10}'.format(20))  #居中对齐
#output:****20****
  • 精度与进制
print('{0:.2f}'.format(1/3))

print('{0:b}'.format(10))   #二进制

print('{0:o}'.format(10))    #八进制

print('{0:x}'.format(10))     #16进制

print('{:,}'.format(12369132698))  #千分位格式化

#output:
0.33
1010
12
a
12,369,132,698

 二、文件输入输出

参考博客

猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/85773885
今日推荐