前言

学习一门编程语言,最基本的无非不过学习其变量规则、条件语句、循环语句和函数,接下来的几节将开始记录这些基本的语法,本节主要记录变量规则!

一、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变量与输入输出的更多相关文章

  1. python变量、输入输出-xdd

    1.注释 #输入身高,计算BMI 注释1,单行注释... 注释2,多行注释xiedong.. 2.中文编码声明,UTF-8编码声明 # coding=编码 # coding=utf-8 3.建议每行不 ...

  2. Python 变量类型

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  3. Python变量、数据类型6

    1.Python变量 变量,即代表某个value的名字. 变量的值存储在内存中,这意味着在创建变量时会在内存中开辟一个空间. !!!即值并没有保存在变量中,它们保存在计算机内存的深处,被变量引用.所以 ...

  4. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  5. Python变量类型

    Python变量类型 变量是存储在内存中的值,因此在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定的内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型, ...

  6. C与Python变量的区别

    C中变量有类型,代表一定内存. 而Python变量只是封装过的指针,没有类型.如果不指向对象,就没有意义,更谈不上类型. python中 a=b,和C中 a=b是完全不同的两个操作.前者只是指针(引用 ...

  7. Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习

    #coding=utf-8 __author__ = 'Administrator' #Python变量类型 #Python数字,python支持四种不同的数据类型 int整型 long长整型 flo ...

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

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

  9. python——变量

    参考资料: Python程序设计与实现 变量名的命名规则 仅仅由大.小写英文字母,下划线(_),数字(不可作为变量名的开头)组合而成: 不能使用Python关键字和函数名作为变量名: 变量名不能包含空 ...

随机推荐

  1. python class中__init__函数、self

    class中包含类内变量以及方法 __init__方法 其前面带有”__“,故此函数被声明为私有方法,不可类外调用. 此方法可以带参数初始化 此方法的首参数必须是”self“(不过”self“也可以换 ...

  2. mui几种页面跳转方式对比

    1.初始化时创建子页面 mui.init({ subpages: [{ url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址 id: your - su ...

  3. GBDT(MART) 迭代决策树详解

    在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下: GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Re ...

  4. Unity3D之物理射线

    射线:从一个点往一个方向,发射一根无限长的射线,这根射线会与场景中带有 Collider 组件的物体发生碰撞. 射线的使用: public class Test { private void Star ...

  5. linux下使用eclipse打开esp32工程文件,并进行编译下载。

    在之前的文章中,已经讲过将esp-idf 运用linux自带的工具下载,但是为了开发的系统性,这里运用eclipse来对idf进行整体的编译. 首先 cd /esp32 运行eclipse,将work ...

  6. A - 饭卡

    电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...

  7. MFS故障测试及维护总结

    一.测试环境说明: 10.2.2.230 mfsmaster     VIP:10.2.2.130 10.2.2.231 mfsbackup 10.2.2.253 mfsdata01 10.2.2.2 ...

  8. uniGUI日志的控制

    uniGUI日志的控制 (2015-10-12 08:30:29) 转载▼ 标签: unigui 分类: uniGUI uniGUI本身提供了日志功能,利用uniServerModule.Server ...

  9. 使用Phabricator进行代码审查

    Pharicator 是FB的代码审查工具,主要开发者为Evan Priestley,是一个开源软件,可在Apache许可证第2版下作为自由软件分发.详细信息可查看官方文档.这里从应用的角度,一步一步 ...

  10. ASP.NET MVC下使用AngularJs语言(六):获取下拉列表的value和Text

    前面Insus.NET有在Angularjs实现DropDownList的下拉列表的功能.但是没有实现怎样获取下拉列表的value和text功能. 下面分别使用ng-click和ng-change来实 ...