当前位置: 首页 > news >正文

爱站攻略/想学销售去哪培训

爱站攻略,想学销售去哪培训,西宁做网站的好公司,蚂蚁中国网站建设变量基础 变量是编程语言里重要的基本概念,在各类高级语言里都用变量来代表一块内存区域,某一时刻这块区域里存储了‘a’,又一时刻可能又被存储成了’c’,正是由于该块内存里的值可以随时发生变化,我们称之这个代表内存区域的符号…

变量基础

变量是编程语言里重要的基本概念,在各类高级语言里都用变量来代表一块内存区域,某一时刻这块区域里存储了‘a’,又一时刻可能又被存储成了’c’,正是由于该块内存里的值可以随时发生变化,我们称之这个代表内存区域的符号为变量。

变量本质

Python程序也是通过变量来访问某块内存里的数据,但Python里的变量的概念却和C语言里的变量有些不同,首先从变量的定义上来区分一下不同之处,在C语言里定义一个变量时,需要指定变量的数据类型,变量初始化时,还需依据等号左边变量的数据类型进行相应赋值,否则会出现数据的转换操作,造成不可想象的错误,而Python没有这方面的要求,在Python里定义变量不需要指定变量的数据类型,可以将各类数据直接赋值给等号左边的变量,比较自由,举例说明一下。

>>>x = 12
>>>print x12
>>>x = 13.09
>>>print x13.09
>>>x = "a1309b"
>>>print x'a1309b'

从上边的程序可以看出赋值时Python不关心变量x的数据类型是什么,学习过C语言的开发者都知道,C规定变量的类型是为了分配一定大小的数据内存区域,而Python定义变量时不指定变量类型,那么对于较长的数据怎么能存储的下呢?下面我们再看一段小程序说明一下为何Python不需要指定变量的类型也可以“存储”下任意长度数据的。

>>> x = 12
>>> type(x)
<type 'int'>
>>> x = '12'
>>> type(x)
<type 'str'>
>>> x = 12.03
>>> type(x)
<type 'float'>
>>> x = '12.0300203000404'
>>> type(x)
<type 'str'>

注:type函数是返回括号里表达式值的数据类型

上边代码x被分别被赋值整数12,字符串‘12’,浮点型数据12.03,但是都没有问题,都能正确执行,十分奇怪!如果数据很大能存下么(超出了4、8 字节)?我们看一下下面的程序,来分析一下Python的变量和C 语言的变量到底有哪些不同?

>>> x = 12
>>> id(x)
10416516
>>> x = 13
>>> id(x)
10416504
>>> x = '12'
>>> id(x)
19428056
>>> y = '12'
>>> id(y)
19428056
>>> y = 13
>>> id(y)
10416504
>>> y = 12
>>> id(y)
10416516

注:id函数是返回括号里Object在内存里的地址,读者请自行用id输出值作为内存地址,等号右边的值作为内存里的存储内容来画一个内存分布图分析一下。

10416516和10416516、10416504出现多次。

>>> help(id)
Help on built-in function id in module __builtin__:id(...)    id(object) -> integerReturn the identity of an object.  This is guaranteed to be unique amongsimultaneously existing objects.  (Hint: it's the object's memory address.)
>>>

当x和y被赋值12的时候id返回值相同,当x和y被赋值13的时候id 返回值也相同,当x 和y被赋值’12’ 的时候id的返回值也相同;但x 或者y被赋值12、13、’12’的候id的返回值不同!由此可见Python是在给等号右边的数据分配内存空间,可以通过不同的变量来指向这个数据。也可通过不同变量可以指向相同的内存空间获得相同的值。

>>> x = 12
>>> y = 13
>>> x = y
>>> x13
>>> id(x)
10416504
>>> id(y)10416504
>>>

可以通过变量来改变它正指向的这块内存空间里的数据么?不可以!

>>> x = 12
>>> id(x)
10416516
>>> x = 15
>>> id(x)
10416480

由上边结果可见,并未改变12所在内存区里的值,而是又分配了一个内存空间给数据15,也就是说变量在被重新赋值以后指向的是另外内存一个地方,和C语言变量的区别在于C里的变量一直指向某地,C语言可以通过变量来改变它指向内存里的值,而Python 里变量变化的是它“指向”,可以直接认为Python里的变量等价于C 语言里的指针概念。因此C和Python里都有变量的概念,但两个语言的变量的“变”的含义不同!


转载于:https://my.oschina.net/u/3579120/blog/1507930

http://www.lbrq.cn/news/1408465.html

相关文章:

  • 网站建设教程/搜索引擎有哪些
  • wordpress模板怎么修改页面内容/青岛seo外包服务
  • 柯桥区建设集团网站/网级移动营销app下载
  • 新闻网站建设汇报材料/seo在线工具
  • 广东专业做网站排名公司/社群营销的案例
  • 网站开发委托协议/广告推广语
  • 网页素材库/天津百度网站排名优化
  • 学校为什么要做网站/全网自媒体平台大全
  • 怎样做联盟网站/seo优化技巧
  • 网站优化排名的公司有哪些/企业qq怎么申请注册
  • 网站做描本好处/技术培训学校机构
  • 私募基金网站开发流程/茶叶网络推广方案
  • 免费的app开发工具/班级优化大师客服电话
  • 广州政府网站集约化建设/商家联盟营销方案
  • 沈阳大型网站制作公司/流量网站
  • 做网站如何防止被骗/济南专业做网站
  • 做网站要学会那些/关键词首页排名优化价格
  • 怎么用wordpress做网站/如何去推广一个app
  • html做游戏网站/qq营销软件
  • 学做面包的网站/yandex网站推广
  • 桐庐做网站/最近时事新闻热点事件
  • 手机端网站设计制作案例/关键词优化技巧有哪些
  • 石家庄做网站建设的公司排名/网络营销策划方案怎么写
  • 关于做网站/长沙做网站推广
  • 仿网站出售/电商线上推广渠道
  • 网站建设中模版/广告资源网
  • 小企业网站建设哪家便宜/图们网络推广
  • 做宣传网站买什么云服务器/开发一个app需要多少钱?
  • 深圳有做网站的公司660元/美国站外推广网站
  • 公司网络推广怎么做/seo系统培训课程
  • Redis面试精讲 Day 24:Redis实现限流、计数与排行榜
  • LangChain 多任务应用开发
  • C#WPF实战出真汁13--【营业查询】
  • Oracle数据库文件管理与空间问题解决指南
  • 《从混乱到有序:AI 如何一步步梳理数据质量难题》文章提纲
  • huggingface TRL中是怎么获取参考模型的输出的