#5 Python变量与输入输出
前言
学习一门编程语言,最基本的无非不过学习其变量规则、条件语句、循环语句和函数,接下来的几节将开始记录这些基本的语法,本节主要记录变量规则!
一、Python输入输出
在说Python变量之前,先补充一下Python的输入和输出语句,在Python的编写过程中,会遇到许多的错误,基本的调试方法就是将中间变量打印(输出)出来,所以说Python的输入输出语句十分重要,尤其是输出语句,一定要灵活掌握。
输出
前文可能已经接触到了输出语句 print,实际上在Python3中它是一个内置函数(关于函数的概念之后会讲),在Python常被成为打印,具体用法如下:
1.查看帮助信息
在IPyone中输入help(print),得到其帮助信息,如果你想要查看其他内置函数的帮助信息,也是用这种方法哦
In [1]: help(print)
Help on built-in function print in module builtins: print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
可以看到print函数的参数有value、sep、end、file、flush
其中sep、end、file、flush都已经被赋值了,也就是说,这几个参数都有默认值了,需不需要改要看自己的需求,而value没有被赋予默认值,也就是说,你必须要给value赋值才行,如果你还是不明白,来看例子:
2.value
由于value参数位于print函数的第一位置,所有给其赋值有两种方式: print(value='hi') 或者 print('hi') ,当然大家全部倾向于后者
可以传入多个参数,中间用逗号隔开:
In [2]: print('hello','hi','i am the best man in the world!')
hello hi i am the best man in the world!可以是计算式,打印其结果:
In [3]: print(1+4)
5学了上面两种方法后,组合起来调皮一下下:
In [5]: print('你','是',200+50)
你 是 250
3.sep
sep是分隔符,默认是空格,让我们来玩弄一下它:
In [7]: print(5,2,0)
5 2 0
默认
In [6]: print(5,2,0,sep='-')
5-2-0
修改为-
In [8]: print(5,2,0,sep='')
520
修改为无任何连接符
实际使用中,很少回去修改sep的值,通常默认就可以
4.end
end是结束符,默认是 '\n' (其实就是回车换行),盘它:
In [12]: print(5), print(2), print(0)
5
2
0
默认
In [13]: print(5,end='我是5的结束符'), print(2,end='我是2的结束符'), print(0,end='我是0的结束符')
5我是5的结束符2我是2的结束符0我是0的结束符
更改结束符
In [14]: print(5,end=''), print(2,end=''), print(0)
520
将多条语句打印在一行
在实际使用中,有需要的话会更改end参数的值
5.file
file是输出流,默认输出到屏幕上,可以通过修改其值打印到其他地点,比如文件:
打开VSCode,在跟着MS学Python文件夹中新建#5文件夹,新建test.py文件练习
print(5,2,0) 输出结果为:5 2 0
默认
with open('test.txt', 'w') as f:
print(5, 2, 0, file=f)
输出到test.txt文件
之后会在目录里看到test.txt文件,里面的内容为5 2 0
6.flush
flush是强制刷新到输出流,默认为否。弄清楚这个要知道计算机存储工作的原理,为了加快计算机的存储速度,实际上数据并不会直接写入硬盘,而是留在中转站内存中,当内存中的数据量达到规定值以后,才会将内存中的数据高速写入硬盘。如果内存中的数据没有达到规定值计算机突然断电,这部分数据就消失了,所有print函数有这么一个参数,改为是以后,一但有数据就立刻写入硬盘中,不会因为断电或者其他情况而导致数据丢失=====( ̄▽ ̄*)b
输入
说完了输出,就该输入函数 input 了,输入相对输出就很easy了:
1.查看帮助信息
In [15]: help(input)
Help on built-in function input in module builtins: input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed to standard output without a
trailing newline before reading input. If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
可以看到,input超级简单有木有,话不多说,盘它!
在Python3中,输入的一切都是字符串(这是Python的一种数据类型,以后会说到,总之现在先了解一下),上代码:
2.不带参数的输入:
In [18]: input()
Hi #这个是我输入的
Out[18]: 'Hi'
3.带参数的输入:
In [19]: input('请输入:')
请输入:Hi #我只输入了Hi
Out[19]: 'Hi'
看到这里你应该明白了哇,再补充一点:
In [20]: input('>>')
>>520
Out[20]: ''
这里需要格外注意的是,输出的520是被单引号引起来的,这就是字符串,而不是数字了
二、Python变量
看到变量,这可能是所有萌新最头疼的地点,因为很难理解的概念,其实变量在小学就遇到了,让我来勾起你的记忆:
小学题目:现有一个长方体,长10厘米,宽5厘米,请问这个长方体面积是多少? (答对不得分,答错扣41分)
高中题目:现有一个长方体,长a=10cm,宽b=5cm,计算其面积s。 (答对不得分,答错扣41分)
大学题目:现有 一个长方体,长为a,宽为b,请计算其面积s。 (答对不得分,答错扣41分)
我的题目:请以一个程序员的角度从以上三个题目中找出全部的变量!
1.什么是变量
维基百科这么说:在程序设计中,变量(英语:Variable,scalar)是指一个包含部分已知或未知数值或信息(即一个值)之存储地址,以及相对应之符号名称(识别字)。通常使用变量名称引用存储值;将名称和内容分开能让被使用的名称独立于所表示的精确消息之外。计算机源代码中的识别字能在运行期间绑扎一个值,且该变量的值可能在程序运行期间改变。 程序设计中的变量不一定能直接对应到数学中所谓的变量之概念。在程序设计中,变量的值不一定要为方程或数学公式之一部分。程序设计中的变量可使用在一段可重复的程序:在一处赋值,然后使用于另一处,接着在一次赋值,且以相同方式再使用一次(见迭代)。程序设计中的变量通常会给定一个较长的名称,以描述其用途;数学中的变量通常较为简洁,只给定一、两个字母,以方便抄写及操作。
我这么说:变量就是房子的门牌号
2.变量的申明
a = 10
这就就申明了一个变量,变量为 a,变量的值为10
3.变量的修改
In [21]: a = 10 In [22]: a
Out[22]: 10 In [23]: a = 20 In [24]: a
Out[24]: 20
变量的修改直接用新值覆盖掉以前的就可以
4.变量的命名规则
变量只能是字母、数字或下划线的任意组合
变量的第一个字符不能是数字
关键字不能申明为变量,Python关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, fom, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with, yield(这些关键字之后 都会学到,而且要熟练掌握哦,喔哈哈哈哈哈)
5.变量的深入探索
来看三段代码
In [25]: a=10 In [26]: b=10 In [27]: a,b
Out[27]: (10, 10) In [28]: a=20 In [29]: a,b
Out[29]: (20, 10)
No.1
In [30]: a=10 In [31]: b=a In [32]: a,b
Out[32]: (10, 10) In [33]: a=20 In [34]: a,b
Out[34]: (20, 10)
No.2
In [51]: a=b=10 In [52]: a,b
Out[52]: (10, 10) In [53]: b=20 In [54]: a,b
Out[54]: (10, 20)
No.3
从上面的三段代码可以看出,变量指向的永远是值,而不会指向变量,a=b=10的真实含义是a指向10,b指向10,这里的两个10是同一个10,后来b=20意思是b变心了,b现在指向了另外一个值20,但是a指向的依旧是10,这里一定要注意,a指向的是10,而不是指向变量b,理解不了那就上图:
这次懂了哇,弟弟们ㄟ( ▔, ▔ )ㄏ
6.变量的交换
如果你有其他语言的基础,那么对于交换变量这一块一定很熟悉,你会毫不犹豫的说找一个中间变量 t 不就行了,的确,Python也可以这样:
In [55]: a=10 In [56]: b=20 In [57]: a,b
Out[57]: (10, 20) In [58]: t=a In [59]: a=b In [60]: b=t In [61]: a,b
Out[61]: (20, 10)
但但但但但是,如果Python也用这种方法的话,我这里肯定就不会提及了,来看一名专业的Pythonic是如何交换变量的:
In [66]: a=10 In [67]: b=20 In [68]: a,b
Out[68]: (10, 20) In [69]: a,b=b,a In [70]: a,b
Out[70]: (20, 10)
不要惊讶(看你一副 没见过世面的样子,下面还有更精彩的),Python就是这么
#5 Python变量与输入输出的更多相关文章
- python变量、输入输出-xdd
1.注释 #输入身高,计算BMI 注释1,单行注释... 注释2,多行注释xiedong.. 2.中文编码声明,UTF-8编码声明 # coding=编码 # coding=utf-8 3.建议每行不 ...
- Python 变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- Python变量、数据类型6
1.Python变量 变量,即代表某个value的名字. 变量的值存储在内存中,这意味着在创建变量时会在内存中开辟一个空间. !!!即值并没有保存在变量中,它们保存在计算机内存的深处,被变量引用.所以 ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...
- Python变量类型
Python变量类型 变量是存储在内存中的值,因此在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定的内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型, ...
- C与Python变量的区别
C中变量有类型,代表一定内存. 而Python变量只是封装过的指针,没有类型.如果不指向对象,就没有意义,更谈不上类型. python中 a=b,和C中 a=b是完全不同的两个操作.前者只是指针(引用 ...
- Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
#coding=utf-8 __author__ = 'Administrator' #Python变量类型 #Python数字,python支持四种不同的数据类型 int整型 long长整型 flo ...
- Python基础-输入输出(IO)
Python基础-输入输出(IO) 程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输 ...
- python——变量
参考资料: Python程序设计与实现 变量名的命名规则 仅仅由大.小写英文字母,下划线(_),数字(不可作为变量名的开头)组合而成: 不能使用Python关键字和函数名作为变量名: 变量名不能包含空 ...
随机推荐
- Spring 添加属性集中常见方法
//创建容器,索要对象, package cn.lijun.Test; import org.junit.Test;import org.springframework.context.Applica ...
- Chapter3_操作符_算术操作符
java中的算术操作符与其它语言并无太大区别,常用到的是以下这些: (1)加号(+),减号(-),除号(\),乘号(*),取模操作符(%),其中除号需要特别注意的是,会自动截取掉小数点后面的部分,而不 ...
- MyBatis-Plus 多库部署方式;spring mvc 多库部署方式
1.实现mybatis-plus的多个数据库的切换方式 源码地址:https://github.com/baomidou/mybatisplus-spring-mvc 2.因为其文档都是相互依赖的,所 ...
- PowerShell工作流学习-2-工作流运行Powershell命令
关键点: a)inlineScript 活动具有活动通用参数,但不具有PowerShell 通用参数,且inlineScript 脚本块中的命令和表达式不具有工作流的功能b)默认inlineScrip ...
- Codeforces Round #514 (Div. 2) B - Forgery
这个题我一开始没思路,最后也没思路 2个小时一直没思路 本来还想解释题意的,写了半天发现解释的不是很清楚,你还是google翻译一下吧 这个题解法是这样的: 首先,给你图案里面有很多的点,每个点的周围 ...
- 9.7 翻译系列:EF数据注解特性之--InverseProperty【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/inverseproperty-dataannotations-attribute-in ...
- OSLab多线程
日期:2019/3/26 内容:多线程. 一.基本知识 线程的定义 线程(thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单 ...
- Java学习笔记54(反射详解)
反射概念: java反射机制是在运行状态中,对于任意一个类,都能知道所有属性和方法 对于任意一个对象都能调用它的任意一个方法和属性,这种动态获取和调用的功能称为java的反射机制 实际作用: 已经完成 ...
- Tools - UML
ProcessOn - 在线绘图工具 ProcessOn 支持流程图.思维导图.原型图.UML.网络拓扑图等: 主流的UML图列都支持,可以作为方便快捷的UML工具: PlantUML - 多系统多编 ...
- 2-4 完整Todolist案例
在2-3 的基础上继续,综合前面的Todolist编写一个完整的案例,实现基本的输入内容,添加内容,点击删除内容 稍微讲解54行代码 splice()的用法