变量命名

在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习:

名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线)

注意:

区分大小写

禁止使用保留字

遵守通常习惯

以单一下划线开头的变量名(_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]

python赋值语句的一般格式为_[零基础学Python]赋值,简单也不简单相关推荐

  1. python入门到熟练要多久_零基础学python要多久

    零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...

  2. python 智能造句_[零基础学Python]正规地说一句话

    小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...

  3. python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?

    转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...

  4. c字符串中包含双引号_零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...

  5. python培训一般多久_零基础学python需要多久

    一:明确自己的学习目标.不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着目标持续的前进,少走弯路,从而在学习的过程中得到提升,享受整个学习的乐趣. 二:基础的Pytho ...

  6. python语言学习零基础教学视频_零基础学Python语言CAP全套课程

    零基础学Python语言CAP完整版课程目录 ├─{1}–[第1周,第一单元]Python编程之基本方法 │ ├─{1}–1.1课程内容和安排介绍 │ │ ├─(1.1.1)–课程内容和安排介绍-PP ...

  7. 0基础学python需要多长时间_零基础学python大概要多久

    如果是自学的话,零基础学python大概要花一年到一年半的时间.每个人的资质不同.理解能力不同,所以花费的时间也不一样.建议零基础的学员报一个python培训班,这样可以有规划的系统性学习,而且花费的 ...

  8. 有c语言基础学python容易吗_零基础学Python之前需要学c语言吗

    Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方面Python属于全场景编程语言,未来在很多领 ...

  9. python一个月能挣多少钱-零基础学python,我可以让你一个月上手做项目!

    今天达内python培训想要跟所有零基础学习python的同学分享一些神操作,这些操作可以让你在一个月上手做项目,我准备好了,你呢? 为什么你的Python学习效率如此之低?学了3个月还不会做项目做爬 ...

最新文章

  1. codeforces 1016C - Vasya And The Mushrooms 【构造 + 思维】
  2. php表格自动添加滚动条,jsp中为表格添加水平滚动条的方法
  3. Android 6.0 7.0 8.0 一个简单的app内更新版本-okgo app版本更新
  4. GDCM:DICOM转储到SQLITE3的测试程序
  5. 进程上下文与中断上下文
  6. c# 读取写入excel单元格基本操作
  7. call / apply / bind
  8. 【转】wifi的几种工作模式
  9. Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
  10. tda7294参数引脚功能_电容在电路中的几种功能
  11. python生成一圈数包裹一圈数的数组
  12. 入门几款好的UML工具介绍
  13. PHP里 date() 函数与 strtotime() 函数笔记
  14. 谁说五月是没有收获的季节
  15. 复指数与高斯函数乘积的傅里叶变换_球谐光照——球谐函数
  16. Unity WebGL 获取当期时间DateTime.Now异常问题
  17. AMD:无限你我的无限
  18. Q1营收7740万元亏损大幅收窄,转型自救的途牛能否追赶携程艺龙?
  19. 合工大路强java第四次作业第5题
  20. ISTQB TM考点总结

热门文章

  1. 【Docker】Asp.net core在docker容器中的端口问题
  2. 程序员修神之路--缓存架构不够好,系统容易瘫痪
  3. 在 MySQL 中使用码农很忙 IP 地址数据库
  4. 读懂操作系统之虚拟内存(一)
  5. .NET中的内存管理
  6. 使用 VMware + win10 + vs2019 从零搭建双机内核调试环境
  7. 在树莓派4上安装 .NET Core 3.0 运行时及 SDK
  8. 推荐.neter常用优秀开源项目系列之二
  9. OsharpNS轻量级.net core快速开发框架简明入门教程
  10. 【.NET Core项目实战-统一认证平台】第十三章 授权篇-如何强制有效令牌过期