【技术贴】教给你python变量使用: 变量以及类型 变量的定
python吧
全部回复
仅看楼主
level 4
变量以及类型
1、变量的定义
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可。
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可,变量就是用来存东西的。
在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:
num1 = 100 #num1就是一个变量,就好比一个小菜篮子。
num2 = 87 #num2也是一个变量。
result = num1 + num2 #把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中。
说明:
所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量;
程序就是用来处理数据的,而变量就是用来存储数据的;
2、变量的类型
生活中的“类型”的例子:
程序中:
为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的,如下所示:
怎样知道一个变量的类型呢?
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别。
可以使用type(变量的名字),来查看变量的类型。以上知识让我们知道了,什么是变量,变量的类型是什么?接下来让我们学习,变量的起名,以及标识符相关规范。
2 标示符和关键字
1、 标示符
什么是标示符,看下图:
火星文:挖掘机技术哪家强,中国山东找蓝翔。
标示符是自己定义的,直指程序员的本心,就是开发人员在程序中自定义的一些符号和名称,如变量名 、函数名等。
2、 标示符的命名规则
标示符由字母、下划线和数字组成,且数字不能开头。
思考:下面的标示符哪些是正确的,哪些不正确为什么
fromNo12
from
#12 #
错误
my_Boolean
my-Boolean #错误
Obj2
2ndObj #错误
myInt
test1
Mike2jack
My_tExt
_test
test!32 #错误
haha(da)tt #错误
int #错误
jack_rose
jack&rose #错误
GUI
G.U.I #错误
python中的标识符是区分大小写的:
3、 命名规则和方法
见名知意:
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性) 。
比如: 名字 就定义为 name , 定义学生 用 student。
驼峰命名法:
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf
Python推荐就是用下划线“_”来连接所有的单词。
注意:一定要注意关键字命名。
查看关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
上面咱们学习了命名,接下来学习变量的赋值。
4、变量赋值的三种方式
传统赋值
name = “xuegod”
链式赋值
name = user = “xuegod”
序列解包赋值
name,age = “xuegod”,10
注意:两边的变量和常量要对等。
1.3 python 虚拟机(面试题)
1、垃圾回收机制
当一个常量被生成,会占用一份内存,这时候如果有变量指向该常量,那么该常量的引用计数为1,python 虚拟机规定,当一个常量的引用计数为0,也就是没有变量指向的时候,该常量占用的内存会被回收。
例如: name = user = ‘xuegod’
就是变量name,变量user 指向常量‘xuegod’这个内存。
如何查看一个变量的id呢?
内置函数id()
Id(name) 和 id(user)对比,你会惊讶的发现指向的id竟然相同,那么就说明有两个指针指向‘xuegod’这个内存。
例子:
del(name) 删除了指针name
del(user) 删除了指针user
我们再来访问,name和user就会发现如下图:
也就是指向‘xuegod’的内存的所有指针都已经被删除了,引用计数 0
2、python是强类型的动态脚本语言
强类型:不允许不同类型相加。例如:整形+字符串会报类型错误。
动态:不使用显示数据类型声明,且确定一个变量的类型是在给它赋值的时候。
脚本语言:一般是解释性语言,运行代码只需要一个解释器,不需要编辑。
A = 1
A =‘xuegod’
2019年10月15日 07点10分 1
level 8
[呵呵]
2019年10月15日 07点10分 2
level 1
写的挺好的[真棒]
2019年10月16日 06点10分 3
其实我是技术贴的搬运工,吧内分享技术的太少了
2019年10月16日 07点10分
1