Python学习(三)--变量

1.变量

>>> A = [1,2,3,4,5]
>>> print(A)
[1, 2, 3, 4, 5]
>>> B=[1,2,3]
>>> print(B)
[1, 2, 3]
>>> A*3+B+A
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 3, 4, 5]

变量名尽量要有意义

>>> skill = ['新月打击','苍白之瀑']
>>> print(skill)
['新月打击', '苍白之瀑']

2.变量的命名规则
(1)变量名尽量使用字母、数字、下划线进行命名,但首字母不可以是数字,符号不可用*,$等。。
(2)系统关键字、保留关键字不可用于命名变量,如and,if,import....
(3)变量名区分大小写

>>> A = [1,2,3,4,5]
>>> a = (1,2,3)
>>> print (a)
(1, 2, 3)
>>> print(A)
[1, 2, 3, 4, 5]

(4)变量没有类型区分
字符串、数字、列表、元组都可以赋值给某变量
3.值类型和引用类型

>>> a = 1
>>> b = a
>>> a = 3
>>> print(b)
1
>>> a = [1,2,3,4]
>>> b = a
>>> a[0] = 7
>>> print(b)
[7, 2, 3, 4]

int str tuple 值类型 不可变
list set dict 引用类型 可变
举例

>>> a = 'hello'
>>> id(a)
67807744  //在内存的地址,一般16进制
>>> hex(id(a))
'0x3bf2a70'
>>> a = a + ' python'
>>> id(a)
62859888

a = a + ' python'看似是str是可变的,其实不是的,因为a + ' python'生成了一个新的字符串,再赋值给a,str依然是不可变的
再通过另一个例子,证明str的不可变性

>>> 'python'[0]
'p'
>>> 'python'[0] = 'r'
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    'python'[0] = 'r'
TypeError: 'str' object does not support item assignment

4.列表的可变和元组的不可变

>>> a = [1,2,3]
>>> id(a)
14402824
>>> a[0] = '1'
>>> id(a)
14402824

列表中某一元素改变,内存地址不发生改变

>>> b = (1,2,3)
>>> id (b)
14364384
>>> b[0] = '1'
Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    b[0] = '1'
TypeError: 'tuple' object does not support item assignment
>>> b.append(4)
Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    b.append(4)
AttributeError: 'tuple' object has no attribute 'append'

列表支持append追加

>>> c = [1,2,3]
>>> c.append(4)
>>> print(c)
[1, 2, 3, 4]

5.多维列表和数组

>>> d = [1,2,3,[4,5,6]]
>>> d[2]
3
>>> d[3][1]
5
>>> d = [1,2,3,[4,5,['1','2']]]
>>> d[3][2][1]
'2'
>>> d = (1,2,3,(4,5,6))
>>> d[2]
3
>>> d[3][1]
5
>>> d = (1,2,3,(4,5,('1','2')))
>>> d[3][2][1]
'2'

元组里有列表时,列表里的元素是不是可变的呢?

>>> d = (1,2,3,(4,5,['1','2']))
>>> d[3][2][1] = '8'
>>> print(d)
(1, 2, 3, (4, 5, ['1', '8']))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,817评论 1 32
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 3,247评论 2 9
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,390评论 0 10
  • 什么是库 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型开源库公开源代码,...
    coder_hong阅读 294评论 0 0
  • (1) 方琴穿上同事柳大姐送的红色羊毛呢上衣,在镜前转了几个圈,对自己四十五岁仍然苗条的身段十分满意。 今晚是跟相...
    居山淡紫阅读 556评论 0 2

友情链接更多精彩内容