python 赋值

简介: 变量命名名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线)注意:区分大小写禁止使用保留字遵守通常习惯 (驼峰)以单一下划线开头的变量名(_X)不会被from module import *语句导入的。

变量命名

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

注意:

  1. 区分大小写
  2. 禁止使用保留字
  3. 遵守通常习惯 (驼峰)
  4. 以单一下划线开头的变量名(_X)不会被from module import *语句导入的。
  5. 前后有下划线的变量名(_ X _)是系统定义的变量名,对解释器有特殊意义。
  6. 以两个下划线开头,但结尾没有两个下划线的变量名(__X)是类本地(压缩)变量。
  7. 通过交互模式运行时,只有单个下划线变量(_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 "<stdin>", line 1
    not = 3
        ^
SyntaxError: invalid syntax

>>> pass = "hello,world"
  File "<stdin>", line 1
    pass = "hello,world"
         ^
SyntaxError: invalid syntax

在交互模式的实验室中,用保留字做变量,就报错了。当然,这时候就要换名字了。

以上原则,是基本原则,为了让程序更具有可读性:

  • 名字具有一定的含义。比如写:n = "hiekay",就不如写:name = "hiekay"更好。
  • 名字不要误导别人。比如用account_list指一组账号,就会被人误解为是list类型的数据,事实上可能是也可能不是。所以这时候最好换个名称,比如直接用accounts。
  • 名字要有意义的区分,有时候你可能会用到a1,a2之类的名字,最好不要这么做,换个别的方式,通过字面能够看出一定的区分来更好。
  • 最好是名称能够读出来,千万别自己造英文单词,也别不要用汉语拼音缩写来做为名字,更麻烦了,还不如全拼。最好是用完整的单词或者公认的不会引起歧义的缩写。
  • 单个字母和数字就少用了,不仅是显得你太懒惰,还会因为在一段代码中可能有很多个单个的字母和数字,为搜索带来麻烦,别人也更不知道你的i和他理解的i是不是一个含义。

总之,取名字,讲究不少。不论如何,要记住一个标准:明确

赋值语句

任何一个变量,在python中,只要想用它,就要首先赋值。

语句格式:变量名称 = 对象
还有一种赋值方式,叫做隐式赋值,通过import、from、del、class、for、函数参数。等模块导入,函数和类的定义,for循环变量以及函数参数都是隐式赋值运算。

>>> name = "hiekay"

>>> name, website = "hiekay","hiekay.github.io"     #多个变量,按照顺序依次赋值
>>> name
'hiekay'
>>> website
'hiekay.github.io'

>>> name, website = "hiekay"    #有几个变量,就对应几个对象,不能少,也不能多
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

如果这样赋值,也得两边数目一致:

>>> one,two,three,four = "good"
>>> one
'g'
>>> two
'o'
>>> three
'o'
>>> four
'd'

这就相当于把good分拆为一个一个的字母,然后对应着赋值给左边的变量。

>>> [name,site] = ["hiekay","hiekay.github.io"]
>>> name
'hiekay'
>>> site
'hiekay.github.io'
>>> name,site = ("hiekay","hiekay.github.io")
>>> name
'hiekay'
>>> site
'hiekay.github.io'

其实,赋值的样式不少,核心就是将变量和某对象对应起来。对象,可以用上面的方式,也许是这样的

>>> site = "hiekay.github.io"
>>> name, main = site.split(".")[0], site.split(".")[1]   #str.split(<sep>) 分割字符串
>>> name
'hiekay'
>>> 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。

上面的例子还能修改:

>>> [i+2 for i in number]
[3, 4, 5, 6, 7]
目录
相关文章
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
53 14
|
1月前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
35 1
|
7月前
|
索引 Python
python语法错误赋值错误
【7月更文挑战第10天】
151 6
|
2月前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
36 5
|
3月前
|
存储 Python 容器
[oeasy]python045_[词根溯源]赋值_assignment_usage_使用
本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
39 3
|
3月前
|
Python
Python赋值运算符
Python赋值运算符。
34 2
|
9月前
|
存储 Python
【Python操作基础】系列——赋值语句
【Python操作基础】系列——赋值语句
|
4月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
44 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
|
4月前
|
API 开发者 索引
Python中的省略号(Ellipsis)赋值方式
在Python中,省略号(`...`)是一种特殊对象,称为Ellipsis,虽不常用但在特定场景下非常实用,如函数占位、未实现方法示例及NumPy数组处理。本文通过示例介绍`a = ...`的用法。省略号类似于`None`,可用作代码结构的占位符,保持代码完整性和可读性,同时在API设计中标识待实现的方法。特别是在NumPy中,省略号用于表示多维数组的剩余维度,简化数组操作,提高代码灵活性和可读性。掌握这一技巧有助于提升Python编程能力。
120 0
|
6月前
|
数据处理 Python
python变量重新赋值
【8月更文挑战第4天】
243 6

热门文章

最新文章