2. Python中的基本输入、输出、格式化

本文利用的是Python 3.x版本,建议学习3.x版本

Python中的基本输入、输出、格式化

1. 输入

使用input([prompt])读取一行,将其转换为string类型并返回,input的参数可有可无,如果有参数的话,会在控制台(可以这样理解)输出参数的内容,不换行。通常情况下我们在控制台输入一些数据,然后敲击回车,就完成了本次输入。以下是例子。

name = input("Enter your name: ")
print(name)

这里要注意的是,input返回的是string类型,如果想输入数字,还需要进行类型转换,例如

num = int(input("Enter a number: "))
print(num*2)

其实以上这种转换并不安全,因为如果user输入字符串的话,没法转为int类型,这样程序就会出错,异常终止。所以一种比较简单的方法是,先对输出进行判断,然后再转换,因为还没有说到判断语句,所以这个判断之后再说。

2. 输出

一般在控制台中我们用print进行输出,因为比较简单,所以之前也一直在使用。print的原型如下

print(*objects, sep=‘ ‘, end=‘\n‘, file=sys.stdout, flush=False)

看起来很复杂,但是这个参数都是有默认参数的,我们可以先简单使用前三个参数,后面的默认即可,这样的话,目前而言,我们的print就变成了

print(*objects, sep=‘ ‘, end=‘\n‘)

第一个参数是我们要在控制台输出的数据,可以是多个,用,逗号隔开,pyprint很强大,可以输出很多种数据类型,只要你觉的可以输出的,print都可以输出,你觉得不能输出的,试一试也可能输出。

例如

print("xx")
print(1)
print(True)
print(None)

sep用来将多个数据隔开,默认是空格,end加在输出的末尾,默认是换行符

print(1,2,3,sep=‘@@‘,end=‘<>\n‘)
#用@@分隔数据,结尾加上<>并换行

3. 格式化输出,占位符

如何格式化输出字符串呢,例如你好XX,你的额度是xx,其中xx的变量,我们无法预知,这个时候就需要格式化输出,和C语言一样,我们可以使用占位符%?,其中?代表不同的字符,例如%s代表字符串,%d代表十进制整数,%f代表浮点数,例如

name = "Potato"
b = 100
print("你好%s,你的额度是%d" % (name,b) )
#name将替换%s的位置,b将替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符,当只有一个变量的时候,可以省略括号

占位符还可以控制输出的格式,例如保留几位小数,填充前导0等,以下是例子

print("小数: %.2f" % 3.14159)# %.2f代表保留两位小数
print("小数: %.2f" % 4.5)# %.2f保留两位小数,不够的位用0补充
print("占位: %3d" % 5)# %3d代表这个数的宽度为3,不够的话用空格在前面补,如果数的宽度大于3,则正常输出
print("前导0: %05d" % 2)# %05d代表这个数的宽度为5,不够的话用0在前面补,如果数的宽度大于5,则正常输出

如果不知道数据类型的话,用%s即转为字符串进行输出会比较稳妥,还有许多种占位符的格式,具体使用时可以搜索,一般常用的就是以上那些。

4. 格式化输出,format

可以利用string对象的format方法,进行格式化,以下是例子

print("你好{0},你的余额是{1:.2f}".format("Potato",3.1))
#{0}代表占位符和format里的参数对应,{1:.2f},冒号后是格式控制,代表保留两位小数

这种方式使用起来可能不是很方便。或者还可以使用py内置的format函数,例如

print(format(3.1415,".2f"))
#结果是3.14

如果觉得不错,可以分享~可以关注公众号~

原文地址:https://www.cnblogs.com/WAoyu/p/10344026.html

时间: 2024-09-30 22:26:24

2. Python中的基本输入、输出、格式化的相关文章

python中得到shell命令输出的方法

python中得到shell命令输出的方法: 1. import subprocess output = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE,shell=True).commun icate() print output[0] 2. import commands return_code, output = commands.getstatusoutput('ls -l') 3. import os process = os.p

python中while循环运算符及格式化输出

一,while循环 while 条件:       while语句块(循环体) 运行: 判断你给的条件是否为真,如果真则执行循环体.否则跳出循环. 执行完循环体之后再次判断条件是否为真 例子1 我们玩联盟的时候喷打野的的时候,可以用这种方式,这是一个死循环,条件为真,他会一直执行除非手动停止. while True: print("你是不是傻") print("出来帮一下可不可以") print("出来帮一下可不可以") print("

python中包含中文list输出乱码

先看代码: item = [['2015',u'中国'],['2013','nian份']] print item print item[0][1] 输出结果: 在此处有相关讨论 解决办法: python2中,list若包含中文,整体输出时是以十六进制输出的: 链接中的讨论提供的方法试过,没成功.看来python2中只能以for来单独输出了. 当然了python3应该是解决了此类问题的.

Python中多行输入

import sys strlist=[] for line in sys.stdin: #标准输入 str=line.split()#数据类型为列表,如输入的事asdz,则str=['asd'] strlist.extend(str)#list.extend(object)是将对象的内容加入到列表中,在本例里加入到strlist里的是字符串‘asd'而非列表['asd'],若list.append(object)则是将列表['asd']加入到strlist中 print(strlist)#Li

Python中Counter统计数据输出具体办法

from collections import Counter # 列表 l_one = [1709020621, 1709020621, 1770603107, 1770603105, 1770603106, 1770603105, 1709020621] # 把列表换成字典统计 c = Counter(l_one) print(c) k = c.most_common(len(c)) # 找出全部元素从大到小的元素频率以及对应的次数. # 转化成列表形式,列表每一项又是元祖. print(k

9、流类库与输入/输出

就像C语言一样,c++语言中也没有输入/输出语句.但c++编译系统带有一个面向对象的输入/输出软件爱你包,它就是I/O流类库. 1.I/O流的概念及流类库结构 I/O流类库是C语言中I/O函数在面向对象的程序设计方法中的一个替换产品. 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件对象. 流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动.程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对

python学习——如何判断输入是数字

笨办法学python第35节 该节主要是讲分支与函数,主要遇到的问题是python中如何判断输入是数字. 首先原代码如下: from sys import exit def gold_room(): print "This room is full of gold. How much do you take?" next = raw_input("> ") if "0" in next or "1" in next: h

python中print()函数的“,”与java中System.out.print()函数中的“+”

python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出结果为:hello,world! java中: System.out.print("hello,world!"); 输出结果为:hello,world! 我们可以看到,这两个函数的用法是一样的 print()函数还有这种用法: print("1+1=",1+1) 输出结

python学习笔记(注释、用户输入、格式化输出)

注释 单行:# 多行:上下各用3个连续单引号或双引号 3个引号除了多行注释,还可以打印多行 举例: msg = ''' name = "Alex Li" name2 = name print ("My name is",name,name2) ''' # print(msg) 运行结果第二个print就是打印3行字符串. 如果单行,用引号即可:msg = "Alex Li" python中,单引号和双引号相同,除了单套双或双套单. 例: msg