app开发者平台在数字化时代的重要性与发展趋势解析
803
2022-11-19
Python最基础知识:变量与常量的详细使用教程
一、变量
变量即把程序运算的中间结果临时存到内存里,以备后续调用。1.定义规则
2.定义方式
驼峰体:NumberOfStudents 下划线:number_of_students(官方推荐)
3.变量名注意事项
变量名尽量不为中文、拼音等,不宜过长,不宜词不达意
4.变量的创建
当定义一个变量:name='谢欣然’时,程序开辟了一块内存空间,将’谢欣然’存储进去,再让变量名name指向’谢欣然’所在的内存地址。
id(obj)得到obj的地址(十进制)
name = '小明'print(id(name))'''2444945131440'''
5.优化机制
python认为一些“看起来像python标识符的字符”和小整数字在开发中是常用的;
因此,出于节省内存的角度思考,对于这部分字符串和数字做出了优化;
python解释器会由于要定义的新变量内容与之前定义过的变量内容相同而不让这部分内容占用新的内存空间。
a)对于[-5,257)范围内的数字有优化机制:
>>> a = -5>>> b = -5>>> id(a)1608351664>>> id(b)1608351664
对于[-5,257)范围外的数字没有优化机制:
>>> a = 257>>> b = 257>>> id(a)2502556623984>>> id(b)2502558182288
b)短字符串有优化机制:
>>> a = "abc">>> b = "abc">>> id(a)2502557973560>>> id(b)2502557973560
长字符串没有优化机制:
>>> a = "Hello World, I'm here.">>> b = "Hello World, I'm here.">>> id(a)2502558942240>>> id(b)2502558942096
注意:这种现象也与编译器有关,在IDLE中测试的范围为[-5,256]的整数与短字符串,但在Pycharm中, 整数超过256 和 字符串 即使带有空格也都认为地址一样。
s1 = 'My name is xxr.'s2 = 'My name is xxr.'print(id(s1), id(s2))a = 257b = 257print(id(a), id(b))'''1973560257392 19735602573921973579746288 1973579746288'''
6.身份运算
运算符 | 描述 | 实例 |
is | 判断两个标识符是否引用自一个对象 | x is y,类似id(x) == id(y) |
is not | 判断两个标识符是否引用自不同对象 | x is not y,类似id(x) != id(y) |
7.is与==辨析
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
== 比较操作符:用来比较两个对象是否相等,value做为判断因素;is 同一性运算符:比较判断两个对象是否相同,id(唯一的身份标识)做为判断因素。
'''学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:711312441寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''>>> a = 1>>> b = 1>>> a == b # 此时a与b值相同,id也相同True>>> c = 'hello world!'>>> d = 'hello world!'>>> c == d # 此时c与d值相同,id不同True>>> a = [1,2,3]>>> b = [1,2,3]>>> a == b # 此时a与b值相同,id不同True
>>> a = 1>>> b = 1>>> id(a) # 查看内存地址140714323927888>>> id(b) # 查看内存地址140714323927888>>> a is bTrue>>> c = 'hello world!'>>> d = 'hello world!'>>> id(c) # 查看内存地址1382544135472>>> id(d) # 查看内存地址1382543623920>>> c is dFalse>>> a = [1,2,3]>>> b = [1,2,3]>>> id(a) # 查看内存地址1382542667144>>> id(b) # 查看内存地址1382542172872>>> a is bFalse
补充:关于内存地址问题详见第5点优化机制,即对于整型和短字符串,取值相同的变量所占内存空间为同一块区域,所以比较操作符==与同一性运算符is判断均为True。
二、常量
在python中,没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~