摘要:以上原则,是基本原则。比如用指一组账号,就会被人误解为是类型的数据,事实上可能是也可能不是。不论如何,要记住一个标准明确赋值语句对于赋值语句,看官已经不陌生了。其实,赋值的样式不少,核心就是将变量和某对象对应起来。
变量命名
在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习:
名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线)
注意:
区分大小写
禁止使用保留字
遵守通常习惯
以单一下划线开头的变量名(_X)不会被from module import *语句导入的。
前后有下划线的变量名(X)是系统定义的变量名,对解释器有特殊意义。
以两个下划线开头,但结尾没有两个下划线的变量名(__X)是类本地(压缩)变量。
通过交互模式运行时,只有单个下划线变量(_)会保存最后的表达式结果。
需要解释一下保留字,就是python里面保留了一些单词,这些单词不能让用户来用作变量名称。都有哪些呢?(python2和python3少有差别,但是总体差不多)
and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield
需要都记住吗?当然不需要了。一方面,可以在网上随手查到,另外,还能这样:
>>> not = 3 File "", line 1 not = 3 ^ SyntaxError: invalid syntax >>> pass = "hello,world" File " ", line 1 pass = "hello,world" ^ SyntaxError: invalid syntax
在交互模式的实验室中,用保留字做变量,就报错了。当然,这时候就要换名字了。
以上原则,是基本原则。在实际编程中,大家通常还这样做,以便让程序更具有可读性:
名字具有一定的含义。比如写:n = "qiwsir",就不如写:name = "qiwsir"更好。
名字不要误导别人。比如用account_list指一组账号,就会被人误解为是list类型的数据,事实上可能是也可能不是。所以这时候最好换个名称,比如直接用accounts。
名字要有意义的区分,有时候你可能会用到a1,a2之类的名字,最好不要这么做,换个别的方式,通过字面能够看出一定的区分来更好。
最好是名称能够读出来,千万别自己造英文单词,也别乱用所写什么的,特别是贵国的,还喜欢用汉语拼音缩写来做为名字,更麻烦了,还不如全拼呢。最好是用完整的单词或者公认的不会引起歧义的缩写。
单个字母和数字就少用了,不仅是显得你太懒惰,还会因为在一段代码中可能有很多个单个的字母和数字,为搜索带来麻烦,别人也更不知道你的i和他理解的i是不是一个含义。
总之,取名字,讲究不少。不论如何,要记住一个标准:明确
赋值语句对于赋值语句,看官已经不陌生了。任何一个变量,在python中,只要想用它,就要首先赋值。
语句格式:变量名称 = 对象
上一节中也分析了赋值的本质。
还有一种赋值方式,叫做隐式赋值,通过import、from、del、class、for、函数参数。等模块导入,函数和类的定义,for循环变量以及函数参数都是隐式赋值运算。这方面的东西后面会徐徐道来。
>>> name = "qiwsir" >>> name, website = "qiwsir","qiwsir.github.io" #多个变量,按照顺序依次赋值 >>> name "qiwsir" >>> website "qiwsir.github.io" >>> name, website = "qiwsir" #有几个变量,就对应几个对象,不能少,也不能多 Traceback (most recent call last): File "", line 1, in ValueError: too many values to unpack
如果这样赋值,也得两边数目一致:
>>> one,two,three,four = "good" >>> one "g" >>> two "o" >>> three "o" >>> four "d"
这就相当于把good分拆为一个一个的字母,然后对应着赋值给左边的变量。
>>> [name,site] = ["qiwsir","qiwsir.github.io"] >>> name "qiwsir" >>> site "qiwsir.github.io" >>> name,site = ("qiwsir","qiwsir.github.io") >>> name "qiwsir" >>> site "qiwsir.github.io"
这样也行呀。
其实,赋值的样式不少,核心就是将变量和某对象对应起来。对象,可以用上面的方式,也许是这样的
>>> site = "qiwsir.github.io" >>> name, main = site.split(".")[0], site.split(".")[1] #还记得str.split(增强赋值)这个东东吗?忘记了,google一下吧。 >>> name "qiwsir" >>> main "github"
这个东西听名字就是比赋值强的。
在python中,将下列的方式称为增强赋值:
增强赋值语句 | 等价于语句 |
---|---|
x+=y | x = x+y |
x-=y | x = x-y |
x*=y | x = x*y |
x/=y | x = x/y |
其它类似结构:x&=y x|=y x^=y x%=y x>>=y x<<=y x**=y x//=y
看下面的例子,有一个list,想得到另外一个列表,其中每个数比原来list中的大2。可以用下面方式实现:
>>> number [1, 2, 3, 4, 5] >>> number2 = [] >>> for i in number: ... i = i+2 ... number2.append(i) ... >>> number2 [3, 4, 5, 6, 7]
如果用上面的增强赋值,i = i+2可以写成 i +=2,试一试吧:
>>> number [1, 2, 3, 4, 5] >>> number2 = [] >>> for i in number: ... i +=2 ... number2.append(i) ... >>> number2 [3, 4, 5, 6, 7]
这就是增强赋值。为什么用增强赋值?因为i +=2,比i = i+2计算更快,后者右边还要拷贝一个i。
上面的例子还能修改,别忘记了list解析的强大功能呀。
>>> [i+2 for i in number] [3, 4, 5, 6, 7]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/37337.html
摘要:语句,遍列列表字符串字典集合等迭代器,依次处理迭代器中的每个元素。与配合使用处理在程序运行中出现的异常情况。表示此行为空,不运行任何操作。在迭代器函数内使用,用于返回一个元素。恭请到上浏览及时更新的教程零基础学 小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说饺子,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用饺饺来代替,其实就是让孩子学会一个字就能表达。当然...
摘要:在学习语句的时候,对编程的基础知识了解的还不是很多,或许没有做什么太复杂的东西。可以通过一个内置函数来判断一个条件的结果还是。有朋友需要看完整教程内容,请点击零基础学,这里会及时更新,并且有完整的目录结构,更吸纳了朋友们提出的意见和建议。 看官是否记得,在上一部分的时候,有一讲专门介绍if语句的:从if开始语句的征程。在学习if语句的时候,对python编程的基础知识了解的还不是很多,...
摘要:莱布尼兹所指的函数现在被称作可导函数,数学家之外的普通人一般接触到的函数即属此类。中文的函数一词由清朝数学家李善兰译出。前面提供的维基百科中的函数词条,里面可以做一个概览。 函数,对于人类来讲,能够发展到这个数学思维层次,是一个飞跃。可以说,它的提出,直接加快了现代科技和社会的发展,不论是现代的任何科技门类,乃至于经济学、政治学、社会学等,都已经普遍使用函数。 下面一段来自维基百科(...
摘要:每个形参的名称均可作为过程内的局部变量。实参表示在您调用过程时传递给过程形参的值。看官如果硬着头皮看完这段引文,发现里面有几个关键词参数变量形参实参。好似全局变量能力很强悍,能够统帅函数内外。 对于变量和参数,不管是已经敲代码多年的老鸟,还是刚刚接触编程的小白,都会有时候清楚,有时候又有点模糊。因为,在实际应用中,它们之间分分离离,比如,敲代码都知道,x=3中x是变量,它不是参数,但是...
摘要:接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。故这个函数称为构造函数,担负着对类进行初始化的任务。 虽然已经对类有了一点点模糊概念,但是,阅读前面一讲的内容的确感到累呀,都是文字,连代码都没有。 本讲就要简单多了,尝试走一个类的流程。 说明:关于类的这部分,我参考了《Learning Python》一书的讲解。 创建类 创建类的方法比较简单,如下: ...
阅读 3397·2021-10-11 11:06
阅读 2181·2019-08-29 11:10
阅读 1944·2019-08-26 18:18
阅读 3254·2019-08-26 13:34
阅读 1559·2019-08-23 16:45
阅读 1037·2019-08-23 16:29
阅读 2796·2019-08-23 13:11
阅读 3226·2019-08-23 12:58