输入输出

input输入函数

input函数:获取用户输入,保存成一个字符串。重要的话,说两遍,input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是 整数1 。

str = input("请输入你的姓名:")
请输入你的姓名:json
'json'
type(str)
<class 'str'>
age = input("请输入你的年龄:")
请输入你的年龄:18
'18'
type(age)
<class 'str'> a = input("请输入一个字符串:")
如果输入的是一个空白字符串,输入的也是空白字符 a = input("请输入一个字符:")
如果输入的是前后都有空格的字符,输出的也是前后都有空格的字符串

从上面两个例子中,大家也可以发现了,我输入的值不管是什么,类型都是字符串。

type是python内置的函数之一,作用是查看数据的类型。

比如将字符串转换成数字类型

age = input("请输入你的年龄:  ")

age = int(age)   # 将字符串转化为整数

if age > 18:
print("你已经成年!")
else:
print("还没断奶?")

前面我们在将字符串转化为整数用的是int()函数,这种方式有危险的

s = "123"
a = int(s)
a
123
s = "something"
a = int(s) Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
a = int(s)
ValueError: invalid literal for int() with base 10: 'something'

对于形如“123”, “283242”的字符串,转化没问题,但是对于包含字符、特殊字符的字符串就没办法转化了,会弹出异常错误。所以在使用int函数之前,要先对输入进行判断

age = input("请输入你的年龄:  ")

if age.isdigit():   # 使用isdigit函数判断输入是否全是数字格式
age = int(age) # 将字符串转化为整数
print("你的年龄是: ", age)
else:
print("输入不合法!")

input函数有时可以巧妙地用于阻塞或暂停程序

print("程序前面部分执行完毕......")

input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作

print("继续执行程序的后面部分......")

此时的input函数不会将输入保存下来,只是用作暂停程序动作

print输入函数

print函数我们其实已经不陌生了,前面我们也已经用了很多次了。作用就是打印变量。

a = "json"
b = "teach"
print(a,b)
"json teach" # 自动以空格分隔
print(a+"a"+"b")
"jsonab" # 无分隔

我们看一下print函数的原型:print(self, *args, sep=' ', end='\n', file=None)

sep参数: 分隔的符号,默认是一个空格

end参数: 打印后的结束方式,默认为换行符\n。如果,设置end='',则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。

a = "i am"
b = "teach"
print(a,"a",b,sep="*")
i am*a*teach

print格式化输出

在Python2.6以后,有两种格式化输出的方式。

一种就是类似C语言的printf的%百分号格式化输出,也是Python最基础最常用的格式化输出方式。另一种就是str.format()的方式。

这里先介绍一下传统的%格式化输出方式,例如:

print("我叫%s 今年%d岁"%('json',18))
首先构造了一个字符串"我叫%s 今年%d岁",讲其中需要用别的变量替换的部分,用%号加一个数据类型代号,前面有多少个%号,后面就要提供多少个参数,每个参数值之间用逗号隔开。每个参数与前面的%,相对应的。并且数据类型也要能够合法对应。

格式化符号:

需要特别说明的是,如果你想在print中打印一个%百分符号本身,那么你需要使用%%,两个百分符转义出一个百分符

age=18
print('%d%%'%age)
18%

Python基础-3 输入输出的更多相关文章

  1. Python基础-输入输出(IO)

    Python基础-输入输出(IO) 程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输 ...

  2. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...

  3. python基础(3):输入输出与运算符

    今天总结一下最基础的输入输出和运算符 输入: python3里都是input("") input() name = input()    #输入的值会直接赋值给name name ...

  4. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  5. Python基础:序列(字符串)

    一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...

  6. [Python笔记][第一章Python基础]

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

  7. python基础教程

    转自:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html Python快速教程 作者:Vamei 出处:http://www.cn ...

  8. python基础班-淘宝-目录.txt

    卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python基础班-淘宝-目录.txt│ ├─1-1 Linux基础│ ├─01-课程简介│ │ 01-课程 ...

  9. python基础 — 致初学者的天梯

    Python简介 Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新 功能的添加,越来越多被用于独立的.大型项目 ...

随机推荐

  1. 每天进步一点点------Alpha半透明图形叠加算法Matlab+Verilog实现

    Alpha图形叠加算法Matlab+Verilog实现 1.1. Alpha算法的研究 Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域, ...

  2. 刷题10. Regular Expression Matching

    一.题目说明 这个题目是10. Regular Expression Matching,乍一看不是很难. 但我实现提交后,总是报错.不得已查看了答案. 二.我的做法 我的实现,最大的问题在于对.*的处 ...

  3. pyqt5 通过QLinearGradient 绘制取色板

    要绘制HSV取色板,一般通过绘制前景色和背景色的方式实现,先绘制前景,然后绘制背景,前景是HSV颜色空间,从左到右,背景是亮度,从上到下,xs和ys是鼠标的当前的位置. def graphicsVie ...

  4. springboot去除内嵌tomcat和打包在tomcat中运行需要做的步骤

    去除内嵌tomcat和添加jsp依赖 去除内嵌tomcat 在springboot启动依赖中去除内嵌tomcat <dependency> <groupId>org.sprin ...

  5. MongoDB - 用户名密码认证

    参考 offical doc medium Mongo roles说明 https://docs.mongodb.com/manual/reference/built-in-roles/#userAd ...

  6. JAVA基础学习(5)之数组

    5数组 5.1数组 5.1.1初识数组 // 输出大于平均数的所有数 Scanner in = new Scanner(System.in); int n; int[] a = new int[100 ...

  7. JAVA(3)之关于运算符的优先级

    关于运算符的优先级,我做了一个小测试,区别在于平常的运算思维和计算机思维 int result=2; result =(result=result*2)*6*(result=3+result); Sy ...

  8. SpringMVC Controller 接收页面传递的中文参数出现乱码

    在Controller中接收到的POST参数如果是中文的话,显示为乱码.已知客户端传过来时编码为UTF-8. 问题产生分析: spring MVC中默认的编码格式为“ISO-8859-1”,因此造成乱 ...

  9. windows ,linux永久和临时修改pip源

    临时修改(建议)pypi镜像源方法:如果有untrust 报错,可使用https开头的网站,或加上--trusted 例如: pip install pywin32 -i http://mirrors ...

  10. MQTT 入门介绍

    一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级& ...