首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python-变量对象赋值等

如果你确实认真练习了,上面的内容也许你已经有了答案或至少有些感觉。在讲解变量之前,先看看python shell,打开后我输入和shell输出的内容。最上面显示Python 3.7.2 Shell,就是这个interpreter(解释器)的名字,其实,叫什么几乎无所谓的,叫编辑器也行。当然规范的名字叫Python shell,或叫解释器。

我先是用了一个函数,还要几天才讲函数,用print()函数,后面加括号,加上一“字符串”,结果就打印出来了那个字符串,就是在屏幕显示出来,在shell里面显示出来。所以,解释器是交互的。第二个语句,语句这是我们今天重点关注的第一个概念,一条语句就是一条指令,指示解释器去做一些事情,只是电脑去做些什么。语句的英文是statement, 体会一下它的含义。第二个语句print 后面没有括号,直接跟着一个双分号括起来的字符串,试图打印,结果报错。syntax error 语法错误。提示你,这句语句有语法错误,没加括号。在python2里面不用加括号是可以的,这点请注意。然后又输入一个没有双分号的字符串,直接告诉语法错误。奥,第一个错误,回头看看,提示的很具体,这就是python的魅力,以前似乎没有这样,进化了。但当我不用print时,直接输入“字符串”,竟然也显示了,这个以后慢慢就习惯了,解释反而添乱。

后面提到什么是表达式,本书中这么描述:对象和操作符可以组合成表达式,每个表达式都表示某种类型的对象(一切皆对象), 我们称为表达式的值。上面“字符串”就是对象,类型是 str (string的缩写)他属于非标量,如果忘了标量非标量,复习前一节吧。非标量有内部结构。这个字符串的值是什么,就是这些字符。

还要说一说对象,这个是从object翻译而来,因为如果翻译成物体,太具体了,用到程序里会不伦不类。况且程序中也没有看得见摸得着的物体,网上有讨论,为何这么翻译,有人讲中国台湾翻译成“物件”, 嗯,可以,但业态具象化了。总之,习惯了就好了。我现在就感觉很贴切。因为从概念上,从抽象上,哲学上,对象就是我们面对的任何东西。Python和C语言等不同,不讲什么内存,内存编号的,有时只是提一下而已。这样就不会困惑初学者。

我们讲,变量仅仅是一个名字,它绑定了一个对象。比如,a = 5; a 这个变量名就绑定了int类型的5这个对象,这个对象的值就是5. 解释器怎么知道是int类型呢?推断出来的,因为5就是5,没有什么小数点,也没有引号包括,如果引号包括,就属于str类型了。现在不急,会有更多的变量、对象等讨论等在后面。

赋值,其实前面已经说了,int = 5; 就是一个赋值语句。等号不是数学中的等号,就是将左边的名称的和右边的表达式所表示的对象关联起来。比如,我们现在把 a 这个名字重新绑定 a = "good evening"; 那么a就不再继续绑定5了,5没有了吗?不,还在内存了,什么情况下消失,我们暂不关心。并且,a 已经改变类型了。这就是python,弱类型语言。

变量名的起名规则,请自行找书看,和其他语言应该没有差别,需要说明的时,起名字,最好望文生义,以方便自己和他人阅读,本质上,计算机是不关心名字的,用变量名,函数名等,都是为了人类思维和阅读方便。变量名尽量使用英文,因为汉字做变量名很不方便,汉语的标点在程序中不能用,也最好不用拼音。关于汉字做变量名在解释器中试验,没有问题,但这本书来自美国,没有谈到这个问题。我的理解是可以的。但不提倡。

上一节还提到有一种类型叫 bool 它只有两个值:True / false; 它的运算符,(运算符操作符和我们其他学科的含义大体相同,并且跟数学上一样,也有优先级,今后遇到时再提及)比较英语化,分别是:

a and b, a 和 b 都是 True, 结果为Ture, 否则为false;

a or b, 至少一个为True,结果为True, 否则为false;

not a, 与a 相反。

以上的 a b 大多时候为变量吧;并且 a, b这些组合就是表达式,是可以求值的,求值的结果都说了。再一次澄清一些概念。

就这些吧,学习python无他,就是疯狂练习代码,并不断总结出错原因。

明天讨论分支程序。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190111G12KO200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券