Python中主要的数据
- 字符串
- 数字
- 列表
- 元组
- 集合
- 字典
- 布尔类型: True, False
- None类型:如果没有值,使用None 来表示。
Python中变量命名规则
变量名中 一般使用英文字母来命名。如果有多个英文字符,中间可以使用下划线隔开。
name = "张三"first_name = "张"last_name = "三"
命令规则:
可以使用
_开头。_name = "张三"print(_name)
不能使用数字开头来命名。 下面命名是错误的。
1name = "张三"

变量名中如果有数字,数字放在后面是可以的。下面的变量命名都是正确的。 ```python
name1 = “zhangsan” n1ame = “lisi” 1name = “wangwu” name = “tom”
print(name1,n1ame,1name,name)
3. 变量名中不能包含除了`_` 之外的其他特殊字符。下面命名会报错。```pythonlast-name = "xiaohong" # 报错, 横线不支持last!name = "xiaowang"$a = "xiaoming"
- 可以中文,或者拼音作为变量名。但是不推荐大家这样做。下面的命名不会报错,但是不推荐。 ```python
姓名 = “王小川”
print(姓名)
xingming = “wangxiaoer” print(xingming)
推荐大家使用英文来命名,如果有多个英文,中间使用 下划线`_`隔开。<a name="HnuMV"></a>## 命名规范参考<a name="pk8Uo"></a># 可变对象和不可变对象<a name="j2fpW"></a>## 基本代码<a name="r9Mac"></a>### 列表类型先看一段代码。```pythonnums1 = [1,2,3]nums2 = nums1nums2.append(4)print(nums1)
运行结果结果

nums1 = [1,2,3]nums2 = nums1# nums2 发生了改变nums2.append(4)print(nums1) # [1, 2, 3, 4] [1, 2, 3, 4] nums 跟着改变# nums1 发生改变nums1.append(5)print(nums2) # [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]# id查看内存地址print(id(nums1),id(nums2)) # 2198245454208 2198245454208
上面的代码 结果一致 主要是因为 nums2 = nums1
再看下面这段代码
n1 = [1,2,3]n2 = [1,2,3]n1.append(4)print(n2)

两个变量 结果互不干扰。
再看一个代码
字典结构
如果我定义个字典格式的数据。
ob1 = {"name":"小明","nums":[1,2,3]}ob2 = ob1ob1["name"] = "小王"print(ob1,ob2)
集合类型
s1 = {0,-1,-2}s2 = s1s2.add(1)print(s1,s2) # {0, 1, -1, -2} {0, 1, -1, -2}print(id(s1),id(s2)) # 2479149376544 2479149376544
内存地址也是一样的。
字符串类型
a = "xiaoming"b = aprint(id(a),id(b))a = "tom"print(a,b) # tom xiaomingprint(id(a),id(b))
字符串是不可变对象。
更改a的值,b的值不变。
思考
- 元组,数字,布尔,None 是可变类型还是不可变?

