前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python的变量

python的变量

作者头像
py3study
发布2020-01-09 23:17:05
7930
发布2020-01-09 23:17:05
举报
文章被收录于专栏:python3python3

   变量是用来存储值的所在处,变量具有名字以及数据类型两种属性。数据类型决定了内容中不同类型的值的存储结构。变量名用来调用变量。

   Python 是动态类型语言,所以说不需要预先声明变量类型就可以直接使用。变量的类型和值是在赋值时决定的。

一、变量的命名规范

1、只能使用大、小写字母或者下划线开头;

2、除开头部分外,可以是大、小写字母、数字或者下划线的随意组合;

3、不能占用python关键字;

4、变量名严格区分大小写。

查看python关键字:

代码语言:javascript
复制
import keyword
keyword.kwlist()
['and', 'as', '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', 'with',
'yield']

二、变量的命名规范

规则是必须的,规范不是必要的,但是它是墨守成规的。

1、一般情况不以下划线开头

以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;

以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

2、不能与内置函数或者模块重名,这样虽然不会报错,但是会使原有的函数失去意义。

例如:

把sum作为变量名,而sum是python内置的求和函数。

代码语言:javascript
复制
list1=[1,2,3,4,5]
sum(list1)
15
sum=1
sum(list1)
Traceback (most recent call last):
  Python Shell, prompt 107, line 1
TypeError: 'int' object is not callable

当我把sum赋值为1后,在用sum求list1的和,就会引发异常,因为此时sum是1了,而不再是一个函数

三、变量的赋值

1、普通赋值

变量通过等号来赋值

count=10

2、自增赋值

count = count + 1

也可以写成

count += 1

3、多元赋值

代码语言:javascript
复制
x,y,z=1,2,3
print x,y,z
1 2 3

此时的1,2,3实际上是个无关闭分割符的元组,等于(1,2,3)

当变量名多于变量值时:

代码语言:javascript
复制
x,y=12
Traceback (most recent call last):
  Python Shell, prompt 110, line 1
TypeError: 'int' object is not iterable

异常:int不是可迭代对象

然后将int换成str

代码语言:javascript
复制
x,y="12"
print x,y
1 2
代码语言:javascript
复制
当可迭代的值也小于变量名时:
x,y="1"
Traceback (most recent call last):
  Python Shell, prompt 118, line 1
ValueError: need more than 1 value to unpack

异常:需要多于一个值去解包

当变量名少于变量值时:

代码语言:javascript
复制
x,y=1,2,3
Traceback (most recent call last):
  Python Shell, prompt 116, line 1
ValueError: too many values to unpack
x,y="123"
Traceback (most recent call last):
  Python Shell, prompt 117, line 1
ValueError: too many values to unpack

异常:太多的值需要解包

关于解包的知识在函数传参的内容中会详细讲解

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档