前言

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

一、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. stc15w wave

    1. 定时器和延时 #include "15W4KxxS4.h" #define FOSC 12000000 #define CLK (65536-FOSC/2/12/1000) ...

  2. 【并发编程】IO模型

    一.要点回顾 为了更好地了解IO模型,我们需要先回顾下几个概念:同步.异步.阻塞.非阻塞 同步: 一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行.就是在发出一个功能调用时,在没 ...

  3. .NET winform播放音频文件

    前提:最近要求做一个在winform端做一个音频文件播放的功能,至此,总结最近搜寻的相关资料. 一.微软提供了三种方式来播放音频文件 1.通过System.Media.SoundPlayer来播放 2 ...

  4. Android 软件退出系统方法重写

    Android 软件退出系统按键方法重写 //针对Andriod软件退出系统按键方法重写 ;//key down time @Override public boolean onKeyDown(int ...

  5. MYSQL 开发总结

    1.mysql中,VARCHAR(N)中的N代表的是字符数,而不是字节数.例如VARCHAR(255)表示可以保存255的中文 2.过大的长度会消耗更多的内存.VARCHAR(N),存储时是按照数据实 ...

  6. c++ 异常处理(1)

    异常 (exception) 是 c++ 中新增的一个特性,它提供了一种新的方式来结构化地处理错误,使得程序可以很方便地把异常处理与出错的程序分离,而且在使用上,它语法相当地简洁,以至于会让人错觉觉得 ...

  7. Javascript高级编程学习笔记(12)—— 引用类型(1)Object类型

    前面的文章中我们知道JS中的值分为两种类型 基础类型的值和引用类型的值 基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值 Object类型 对象是引用类型的值的实例,在 ...

  8. web API简介(四):客户端储存之IndexedDB API

    概述 前篇:web API简介(三):客户端储存之Web Storage API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. Index ...

  9. 阿里开源项目arthas在docker环境初始化

    需求 我前一篇是在window环境下做的测试,实际情况现在的生成环境程序都部署在了docker环境下,此环境对arthas可能会缺失很多必要组件 目前的基础环境是在docker容器中,只存在基本的to ...

  10. Java的组合排列问题

    从4个人中选2个人参加活动,一共有6种选法. 从n个人中选m个人参加活动,一共有多少种选法?C(m/n)=C((m-1)/(n-1))+C(m/(n-1))数学算法 public class Main ...