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

网站建设与优化计入什么科莫网站建设兆金手指科杰

网站建设与优化计入什么科莫,网站建设兆金手指科杰,广州 企业网站建设,wordpress 秀前言 再说正文之前#xff0c;需要大家先了解一下对象#xff0c;指针和引用的含义#xff0c;不懂得同学可以参考我上一篇博客“(12条消息) 引用是否有地址的讨论的_xx_xjm的博客-CSDN博客” 正文 一#xff1a;python中一切皆对象 “python中一切皆对象”这句话我相信…前言 再说正文之前需要大家先了解一下对象指针和引用的含义不懂得同学可以参考我上一篇博客“(12条消息) 引用是否有地址的讨论的_xx_xjm的博客-CSDN博客” 正文 一python中一切皆对象 “python中一切皆对象”这句话我相信凡是接触过python得同学应该都听过但我想应该很少有人真正理解这句话对此本文在这里进行一个简单得阐述 在C里面我们说int a 1; a就是一个对象什么意思呢在这里a代表了一个内存空间我们假定这个内存空间的地址是x0001那么a表示的是存放有1的x0001这个内存空间所以与其说a是一个对象不如说是这个x0001是个对象。a和x0001的关系就是一个人和身份证上名字之间的关系x0001就表示真实的人a表示这个人身份证上的名字比如“小明”。所以我们简单理解一下对象就是一个真实存在的内存空间。 那么python中一切皆对象什么意思呢还是拿上面的例子来说 int a 1, 在这里a代表了一个对象一个真实的内存地址那么1是什么呢 1是一个立即数是一个稍纵即逝的电流。但是在python里面对于a 1这个式子1其实是一个对象也就是说python里面1表示的是一块存放值为1的内存空间python一切皆为对象就是说在python中所有东西都是一个具体的内存空间不管是数字还是字符字符串他们都是一个实际存在的内存空间。 二可变类型变量和不可变类型变量 首先我们先明确python的数据类型有6中数字number/ 字符串string / 元组 Tuple /  列表 list / 字典 dictionary / 集合 setsbool、intfloatcomplex复数等都属于number数字类型 可变类型变量字典/列表/集合 不可变类型变量数字/字符串/元组 关于可变类型和不可变类型变量的定义参考自python中可变类型和不可变类型 - 百度文库 (baidu.com) 1可变类型变量定义如下  也就是说可变类型变量实际上是对象的引用也就是对象的别名其实指代的还是对象本身所以对象本身当然可以对自己的数据进行变换啦。再次强调关于引用和指针的关系参考“(12条消息) 引用是否有地址的讨论的_xx_xjm的博客-CSDN博客“ 2不可变类型变量定义如下 所以不可变类型变量实际上相当于对象的指针它存储的只是对象的地址比如a 1,a这个变量存储的实际上是1这个对象的地址当然我们也可以把a当作是一个对象在c里面a这种存放地址的变量叫做指针变量实际上也是一个对象因为它也是一个实际存在的内存空间。 三id函数的作用个人理解欢迎讨论指正 id函数对于可变类型变量和不可变类型变量来说其实作用是不同的对于可变类型变量来说比如a 1a是对象1得引用也就相当于a就是1这个对象(这句话还不理解再看看引用得含义),id(a)取得是对象1的地址 而对于不可变类型变量比如a [1,2,3],a其实是一个指针变量也就是说a本身也是一个对象a有自己的地址但id(a)取得是[1,2,3]这个对象得地址。 四 操作得真实含义 关于 的代码层面的区别在于参考(12条消息) python的和的区别_Liquor6的博客-CSDN博客 先说结论对于不可变类型对象i 1和 i i1是一样的都会改变 i 的地址真实的含义是都会改变i这个指针指向的地址逻辑上理解为因为不可变类型变量是指针i指向的是一个具体的数值对象不同的数值对象对应的内存地址不同所以当 i 指向的数值改变了以后i指向的地址也就变了 举例 比如本来i 1i是一个指针变量它指向了1这个对象的内存地址现在 i 1和 i i 1表示的都是说 i 这个指针要指向2这个对象的地址所以i 指向的地址肯定会从1变成2这就是为什么不可变对象 和 是一样的操作。 实验如下 --------------------------------------------------------------------------------------------------------------------- 同理对于可变类型对象比如a [1,2,3], [1,2,3]是一个具体的对象a是这个对象的引用所以a 1表示的是[ 1, 2, 3]这个对象自己加1所以a还是这个对象的引用但是a a 1则不同了因为是引用所以a a 1则表示a现在引用的应该是a 1表示的[2,3,4]这个对象的地址所以a a 1导致内存地址改变了。 实验如下 结果 可以看见虽然a [1,2,3,4]但是a这个[1,2,3,4]对象实际上是[1,2,3]这个对象变来的和本来的[1,2,3,4]对象是两个东西也就是说这里a和[1,2,3,4]对象表示的是两块内存空间只不过两块内存空间保存的值是相同的。 再看a a [5]以后这个时候a的地址是改变了的它变成了[1,2,3,4,5]的地址这里有一点小意思因为我们是在a a [5]之前打印的[1,2,3,4,5]的id所以这时候[1,2,3,4,5]应该是已经被内存建立起来了因此此时的a直接指向了[1,2,3,4,5]的内存地址那么为什么此时[1,2,3,4,5]的地址和[1,2,3,4]的地址相同呢因为这个时候python其实是值记住了这个列表中1这个元素的地址id([1,2,3,4])和id([1,2,3,4,5])返回的其实都是这个列表首元素1的地址。我们意义做如下实验表明[1,2,3,4])和id([1,2,3,4,5]其实是一块地址空间 所以我们来解释为什么这个时候a的地址就是[1,2,3,4,5]的地址因为这时候内存中已经有一块连续的[1,2,3,4,5]了并且这个值没有给任何变量也就是没有引用所以直接分配给了a。 那么为什么在a之后的[1,2,3,4,5]的地址又变成了最开始a[1,2,3]的地址了呢因为这时候a指向了新的[1,2,3,45]的地址本来的[1,2,3]就被释放了那么这时候的[1,2,3]就是没人管的了那么python直接在这个基础上分发[1,2,3,4,5]的地址。由此可以看出python的内存管理机制确实很出色。更多的实验可以参照以下代码自己跑一遍 补充另外python中numpy数组是可变类型的 pytorch的张量和numpy数组共享底层内存所以是可变类型这就是为什么网络运行过程中不能有原地操作。tensorflow的张量是不可变的。pytorch和tensorflow的张量确实是不同的。 参考TensorFlow vs PyTorch 2: 张量(Tensor) - 简书 (jianshu.com) 五由可变不可变类型对象引出的深浅拷贝
http://www.hkea.cn/news/14592176/

相关文章:

  • 下载站推广商城网站策划
  • 宣威做网站推广的公司跨境电商网站怎么做
  • 政务信息网站建设方案曹鹏wordpress视频教程
  • dedecms两网站共享用户名自动点击竞价广告软件
  • 博客网站开发技术广东微信网站开发哪家好
  • 查询一个网站是用什么系统做的服务器与网站吗
  • 网上有做衣服的网站有哪些做资源下载网站条件
  • 网站数据库5g企业网站推广建议
  • 广东省东莞市建设培训中心网站电子书网站用dz还是wordpress
  • 网站开发项目经验总结教训个人网站制作代码
  • 怎么看网站有没有做推广视频制作软件免费版下载
  • 网站管理系统制作做服装设计兼职的网站
  • 合肥网站建设哪家好一手房发帖网站怎样做
  • 网站特色页面建设手机网站建立免费平台
  • h5做怎么做微网站网站建设时间进度表模板
  • 给菠菜网站做支付建设企业银行u盾如何使用
  • 北京专业做网站设计公司网络维护员
  • 福州优秀网站建设公司网站运营外包协议
  • 网站怎么做背景广东商城网站建设公司
  • 手机网站建设免费空间兰州市网络公司
  • 网站建设与管理自考本公司网站如何备案
  • 网站客户运营jetty网站开发
  • 哪里有建设网站中的视频下载网站建设那家做的好
  • 那个网站百度收录快企业管理咨询包括哪些
  • 哪些网站专做自媒体的如何做h5简历制作网站
  • 广东建设官方网站湖南省军区强军网网站群建设项目
  • 物流网站建设工作岗位wordpress 显示纯文字
  • 佛山做网站开发自助建站营销招商
  • 重庆网站建设公司是什么意思东莞寮步二手房
  • 林芝网站建设装饰公司网站建设流程