Python基础
001 - 安装和环境搭建
002 - Hello World
003 - 变量和简单数据类型
004 - 运算符
005 - 数字
006 - 字符串
007 - 列表
008 - 字典
009 - for & if & while
010 - 函数
011 - 类与对象
Python基础-从入门到实践
-
+
首页
003 - 变量和简单数据类型
# 变量 > 0,1是代码世界不可再分的最小微粒,变量是代码世界的基石 <img src="/media/202103/2021-03-31_095742.png" height="100" width="150" > 有体积的概念,我们都知道,物体的存在是占据空间的。 <img src="/media/202103/2021-03-31_102208.png" height="100" width="150" > 虚拟世界的存在,也是要占据空间的,即我们的内存。 > 作为造物主,我们每创建一个变量,并在里面存值,就意味着它会消耗掉一部分代码世界的空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 <br> > i **变量名是给这个存储空间起的名字,变量值是这个存储空间中放的存在,可以类比房号和住户** --- # 变量的命名 ### 命名限制 仅支持**字母、数字、下划线**,需要**以字母开头且不允许空格**。 毕竟Python是别人编译的,就得遵循别人的设定,想用中文的可以考虑下**易语言**。 ### 命名标准 理论上来讲,只要你命名符合限制设定,就算你起个p314159265358979323846262338327590288也是可以使用的。  **但是** 好的命名可以让人见名知意,增加代码的可读性,给代码编写带来方便,也方便协作开发和后期运维。 一些常见的命名法 - 蛇形命名法(snake case):this_is_a_variable [下划线拉大词距,更清楚易读] - 驼峰命名法(camel case):thisIsAVariable [变量名紧凑,节省行宽] - 帕斯卡命名法(Pascal case):ThisIsAVariable [首字母大写,也称大驼峰] - 匈牙利命名法(HN case):变量名=属性+类型+对象描述 [起名复杂,见名知意] <br> --- # 变量类型 Python 定义了五个标准的数据类型,用于存储各种类型的数据: ```mindmap ## Numbers(数字) ### 整型 #### int(有符号整型) ##### 100 ##### 0 ##### -100 #### long(长整型) ##### 也可以代表八进制和十六进制 ### float(浮点型) #### 0.01 ### complex(复数) ## String(字符串) ## List(列表) ### [a,b,c,d,e,f,g,h] #### 元素可变 ## Tuple(元组) ### (a,b,c,d,e,f,g,h) #### 元素不可变 ## Dictionary(字典) ### {'键key':'值value','键key':'值value','键key':'值value'} ``` > i 用`print(type(变量))`可以识别数据类型 <br> --- # 变量的传递 ## 变量赋值 > 赋值(创建变量):**变量名 = 变量初始值** C语言中的变量赋值需要先声明变量的类型和变量名 ```c int i; i = 3; ``` 而Python中的变量赋值则不需要类型声明,直接在使用前进行赋值,才会被在内存中创建,创建时会同时存储变量的标识,名称和数据这些信息。 ```python i = 3 print(i) ``` <br> ## 多个变量赋值 > Python允许同时为多个变量赋值 创建一个整型对象,值为1,三个变量被分配到相同的内存空间上 ```python a = b = c = 1 c = 2 print(a,b,c) >>>1 1 2 ``` 也可以为多个对象指定多个变量,按位置分别把值赋给对应变量 ```python a, b, c = 1, 2, "python" print(a,b,c) >>>1 2 python ``` <br> ## 传值和传址 > i 因为传值和传址涉及到python所有的变量类型,可以跳到下面,等了解完列表、元组、字典再回来看这个 Python中的传值和传址,是根据传入参数的类型决定的,不能自由选择。 ### 传值 > 如果传递的是一个不可变对象的引用,就不能直接修改原始对象 --> 相当于传值 传值的参数类型:数字,字符串,元组,当传值完成后,对原先变量的修改 **`不会影响`** 被传值的变量 ```python theNumber = 1 theNumber2 = theNumber theNumber = theNumber + 1 print(theNumber2) >>>1 ``` ```python theString = '1' theString2 = theString theString = '2' print(theString2) >>>1 ``` ```python theTuple = (1,2) theTuple2 = theTuple theTuple = (1,2,3) print(theTuple2) >>>(1,2) ``` ### 传址 > 如果传递的是一个可变对象的引用,就能修改对象的原始值 --> 相当于传址。 传址的参数类型:列表,字典,当传值完成后,对原先变量的修改 **`会影响`** 被传值的变量 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList2 = theList theList[0] = theList[0] + 1 print(theList) print(theList2) >>>[2, 2, 3, 4, 5, 6, 7, 8, 9, 10] [2, 2, 3, 4, 5, 6, 7, 8, 9, 10] ``` ```python theDict = {'first':1,'second':2,'third':3} theDict2 = theDict theDict['first'] = theDict['first'] + 3 print(theDict) print(theDict2) >>>{'first': 4, 'second': 2, 'third': 3} {'first': 4, 'second': 2, 'third': 3} ``` <br> ---
Samle
2022年2月1日 14:22
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
伊起知库MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果伊起知库给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护伊起知库,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码