Python观念,从= 开始

Python观念

「使你陷入麻烦的,不是你不知道的,而是你以为知道,但其实不是这么一回事的事情。」 -马克‧吐温

当你以为Python中的=,跟你以前在学校上数学课时的 =一样时,你等同于在自己学Python 的路上放上了一个大大的绊脚石。

Python 的观念(concept)是你对这个程式语言的认知与看法,对于没有学过程式语言的人来说,Python 就像是一堆数学符号跟英文字母乱码,套用自己既有的认知来看待这些符号与字母们。

当你开始学Python ,你会发现有些符号跟数学中的用法一样,像是加、减、乘、除,都跟在数学中有一样的功能。

<span style="color:#3a3a3a"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"><code>+ 加
- 減
* 乘
/ 除</code></span></span></span>

但你要留心,=在Python 世界中有不一样的功能!

Python观念:=是赋值,不是等于

刚开始学Python ,最容易混淆的就是=这个符号。Python 世界的 =符号, 与数学世界的=有完全不同的含义。

就好像同样是点头,在台湾代表「好」,但在印度却是表达「不好」,看起来一样的动作,却有不同的意思。

学习Python的路途上,如果你不打算改变对=的既有观念,那么你的Python会学得很混乱。

Python 中的= 符号,代表赋值,是将某一个值指派给你所设定的变数(variable),阅读时你需要从右读到左

我们用下面这个例子再详细说明= 这个符号 :

<span style="color:#3a3a3a"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"><code>>>>  x = 1            
說明:將1指派給 x, x 就是此處設定的變數。

>>>  y = x + 2         
說明:將 x + 2 指派給 y ,y 是設定的變數。

>>>  y                 
說明:在互動式解譯器中會直接印出 y 的值。

3                      
說明:輸出 y 的值等於3。
</code></span></span></span>

知道= 在Python 中代表赋值后,你会不会有疑问:假如需要表示「等于」,该用什么符号呢?

Python 中的等于= =来表示,不等于! =表示。

因为=代表的是赋值,如此一来,下方这个程式码的逻辑就通了。

<span style="color:#3a3a3a"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"><code>>>>  x  =  1
>>>  x =  x + 1      
2</code></span></span></span>

上面这段程式码是这样运作的:

  1. 首先,将1 指派给x,此时x 这个变数为1。
  2. 接着,运算x + 1,得出2 。
    ( x = x + 1 可以省略一个x,写成 x += 1。算是满常会使用到的用法,可以留心记一下。)
  3. 将2 指派给x,最后得出2 这个值。

x = x +1 在数学世界中是不合逻辑的;但在Python 的世界里,却是常见且合乎逻辑的用法。

变数是一个名称

接续刚刚说的赋值,当你输入x = 1 ,代表将1 指派给x 这个变数(variable)。

变数又是什么呢?

在Python 的世界中,变数就是一个名称。以前面所举的例子来说,x 是一个变数,名称叫做x,而且x 连结1 这个值。

你可以将x 这个变数的名字想像成一个标签,这个标签上有条绳子,连接到1 这个值所放的盒子中。

就像下面这个图这样。

既然说变数是一个名称,那就可以随你来替它命名,只是有4 条规则必须遵守:

  1. 只能使用英文字母大小写数字底线符号_,其他都不行。
    空格、-、@、#、$等特殊符号都不行。
  2. 英文字母大小写有区分,代表不一样的变数。
    例如Dog、 dog、 DOG是代表三个不一样的名称,也就是三个不同的变数。
  3. 不可使用Python 的保留字(将于下一段说明),这些字有它的功能,不能作为变数来使用。
  4. 开头不可以是数字,换言之,就是变数开头只能是英文字母或是底线;开头使用底线的名称会被特殊对待, 所以一般变数名称开头以英文字母居多。

除了上述一定要遵守的「天条」之外,还有一个很多过来人都会建议你的小提醒:为变数取一个有意义的名称。你自己看得懂,别人也容易懂的名称。

当你的变数只有一个时,记住它是一件简单的事。

然而,当你的变数有10 个或更多时,你会痛恨自己当初为何不好好取名字,害得你看到每一个变数,就像看到陌生人,认不得。

觉得变数还是很难懂吗?观看下方的影片帮助你认识变数。

2020/12/16更新:Proladon讲解赋值及变数的影片,分享给正在学Python 的你。
因为「赋值」有些拗口,所以本文针对「赋值」这个词,大多以「指派」作表示。

保留字不可以作为变数名称

Python 的保留字包括下方表格所列出的字词,其中T rue、F alse、N one 这三个保留字的首个字母是大写。

(如果你是以手机观看保留字的表格,可以滑动表格最下方的卷轴,以完整观看表格。)

错误的

等待

别的

进口

经过

没有任何

休息

除了

增加

真的

班级

最后

返回

和 

继续

为了 

拉姆达

尝试

作为

定义 

非本地的

尽管

断言

全球的

不是

异步

艾利夫

如果

或者

屈服

编写程式码时,大写字母与小写字母是不同的,所以true、false、none 不是保留字。

又例如你要使用print() 函式,若不小心将p 打成大写,Python会将Print 视为一个变数,因为他不是函式。

谨记任何大小写、符号都有它的用意,尤其大写字母与小写字母不可混用,也不可当成一样的东西,否则你的程式码必然错误连连。

每个保留字都有它的功能,不能拿来当成变数,不能指派各种值给它。

从0开始起算

Python 在算顺序的时候,也与我们一般的用法不同。通常排在第1 位的,我们就叫它第1 个,但在Python 中,我们改叫它第0 个,从0 开始起算。

举例来说,hello 这个单字的第一个字母是什么?

一般的情况,我们会说是h,但在Python 的世界里,却是e。

 因为电脑中起始值(开始的那个数字)是0,也就是说,第0 个位置(index)才是h,第1 个位置则是e。

Python的资料都是物件

为何要说Python 的资料都是物件?

你可以这么理解:因为Python 不是直接处理电脑记忆体的原始资料,而是在记忆体中,将各种资料值包装成物件,好来跟原始资料做区隔。不然每个电脑里的资料都叫做资料,你永远也搞不懂到底是指什么资料。

换句话说,Python 的每个物件都是一段资料,而每个物件都会至少包含以下4 个元素:

  1. 型态(type):资料型别,定义这个物件可以做什么。
  2. ID:这是一个唯一的值,就像人的身份证字号一样,一个号码只能对应到一个人。
  3. 值(value):必须要与型态一致,每个变数都会连结到一个值,例如布林这个型态的值就只能是True 跟False。
  4. 参考计数:追踪这个物件被使用的频率。

学习Python 就是在学会怎么去运用各种型态的物件,利用Python 这个程式语言与电脑沟通,让电脑按照我们的意思去帮我们做事情。

而各种型态都有各自的使用规则,基本的型态包括:

下方的影片简短的说明资料型态,帮助你了解及加深记忆。

2020/12/16更新:Proladon讲解资料型态的影片,分享给正在学Python 的你。
影片中将「串列」称为「清单」,只是翻译不同,同样都是指list 这个资料型态。

资料型态是「值」的分类,每一个值都只会属于一种资料型态。

区分这么多种型态是有原因,因为Python 需要定义及搜集资料后,才能加以运用,所以对资料进行分类是有必要的。

如果你对于更多Python观念与知识有兴趣,欢迎持续锁定自学成功道

希望透过阅读书本加强Python的观念吗?推荐你《精通Python》这本书,这本书对于初学者容易搞混观念有相当好的说明与教学,值得一读。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值