变量命名

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

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

注意:

1.区分大小写

2.禁止使用保留字

3.遵守通常习惯

•以单一下划线开头的变量名(_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之赋值,简单也不简单

本文地址: http://www.cppcns.com/jiaoben/python/114165.html

变量four赋值数字python_跟老齐学Python之赋值,简单也不简单相关推荐

  1. 跟老齐学Python:轻松入门pdf

    下载地址:网盘下载 内容简介  · · · · · · <跟老齐学Python:从入门到精通>是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较 ...

  2. python从入门到精通pdf百度云下载-跟老齐学Python从入门到精通 电子版(pdf格式)...

    跟老齐学python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧在巴士下载站下载吧! 目录: ...

  3. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通

    跟老齐学Python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧下载吧! 目录: 第1季 基础 ...

  4. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通.pdf

    跟老齐学Python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧下载吧! 目录: 第1季 基础 ...

  5. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通 电子版(pdf格式)

    跟老齐学python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧在巴士下载站下载吧! 目录: ...

  6. python编程从入门到精通pdf-跟老齐学Python:从入门到精通 完整版PDF[7MB]

    <跟老齐学Python:从入门到精通>是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较轻快的风格,向零基础的学习者介绍一门时下比较流行.并且用 ...

  7. python从入门到精通pdf-跟老齐学Python从入门到精通

    跟老齐学Python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧下载吧! 目录: 第1季 基础 ...

  8. python从入门到精通pdf-跟老齐学Python从入门到精通 电子版(pdf格式)

    跟老齐学python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧在巴士下载站下载吧! 目录: ...

  9. python从入门到精通pdf百度云-跟老齐学Python:从入门到精通 完整版PDF[7MB]

    <跟老齐学Python:从入门到精通>是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较轻快的风格,向零基础的学习者介绍一门时下比较流行.并且用 ...

最新文章

  1. jQuery中的事件机制深入浅出
  2. C++实现判断两个单词是否为变位词
  3. 深入理解分布式技术 - 消息队列使用场景
  4. pdf怎么查看坐标 python_如何从PDF文件中提取文本和文本坐标?
  5. 【Java】区分BigDecimal的toString()和toPlainString()
  6. Win2008配置终端服务网络负载平衡实战 -2
  7. Nagios 3.x 在线帮助中文版
  8. linux 脚本map,shell中map的用法
  9. c#如何实现叫号操作_C#开发银行叫号系统方案
  10. php判断是否夏令时,关于php:时区和夏令时问题
  11. UVa 437 巴比伦塔(The Tower of Babylon)
  12. echarts饼图显示比例
  13. 更多数学趣题:求对数
  14. 几种编程语言类型的区分
  15. 基于matlab的JPEG彩色图像编码解码源码
  16. 动环视频监控在配电房智能化改造中应用
  17. Second,Millisecond,Microsecond
  18. Android性能优化(2):常见内存泄漏与优化(二)
  19. MT8788 android 9.0 gsensor导致预览与拍出来的照片方向不一致
  20. Java基于微信小程序的新冠疫苗预约小程序 springboot+vue+elementUI

热门文章

  1. 设置datalist 中option的宽度_Flutter中http请求抓包的完美解决方案
  2. 电脑休眠和睡眠的区别_电脑休眠和睡眠有什么区别呢?小编详细告诉你
  3. 5whys分析法在美团工程师中的实践
  4. vue.js项目文件搭建
  5. 在Spring Controller中将数据缓存到session
  6. 向ArcMap添加未出现的工具 如planarize lines
  7. directx 9.27.1734 多语言完整版 下载
  8. shell安装mysql,连接数据库,创建数据库
  9. 【CF888G】Xor-MST(最小生成树,Trie树)
  10. 凉凉夜色为我思念成河