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

网站设计是做什么的wordpress4.9.5

网站设计是做什么的,wordpress4.9.5,深圳10大品牌策划公司,郑州公司建网站有这么个问题::t [1, 2, 3]t[1:1] [7]print t # 输出 [1, 7, 2, 3]谁会对列表这么进行赋值呢#xff1f;但是对于这个输出结果的原因确实值得去再了解下#xff0c;今天看看Python的源码#xff0c;了解下原理是什么。注#xff1a;本地下载的是Python2.7.6的代码#…有这么个问题::t  [1, 2, 3]t[1:1]  [7]print t  # 输出 [1, 7, 2, 3]谁会对列表这么进行赋值呢但是对于这个输出结果的原因确实值得去再了解下今天看看Python的源码了解下原理是什么。注本地下载的是Python2.7.6的代码直接看这个。在Objects/listobject.c中有一个 PyList_SetSlice 函数是这么写的::intPyList_SetSlice(PyObject *a, Py_ssize_t ilow, Py_ssize_t ihigh, PyObject *v){if (!PyList_Check(a)) {PyErr_BadInternalCall();return -1;}return list_ass_slice((PyListObject *)a, ilow, ihigh, v);}有用的一句就是 list_ass_slice 那么再来看看这个函数的代码::static intlist_ass_slice(PyListObject *a, Py_ssize_t ilow, Py_ssize_t ihigh, PyObject *v){/* Because [X]DECREF can recursively invoke list operations onthis list, we must postpone all [X]DECREF activity untilafter the list is back in its canonical shape.  Thereforewe must allocate an additional array, recycle, into whichwe temporarily copy the items that are deleted from thelist. :-( */PyObject *recycle_on_stack[8];PyObject **recycle  recycle_on_stack; /* will allocate more if needed */PyObject **item;PyObject **vitem  NULL;PyObject *v_as_SF  NULL; /* PySequence_Fast(v) */Py_ssize_t n; /* # of elements in replacement list */Py_ssize_t norig; /* # of elements in list getting replaced */Py_ssize_t d; /* Change in size */Py_ssize_t k;size_t s;int result  -1;            /* guilty until proved innocent */#define b ((PyListObject *)v)if (v  NULL)n  0;else {if (a  b) {/* Special case a[i:j]  a -- copy b first */v  list_slice(b, 0, Py_SIZE(b));if (v  NULL)return result;result  list_ass_slice(a, ilow, ihigh, v);Py_DECREF(v);return result;}v_as_SF  PySequence_Fast(v, can only assign an iterable);if(v_as_SF  NULL)goto Error;/*要赋值的长度n*/n  PySequence_Fast_GET_SIZE(v_as_SF);vitem  PySequence_Fast_ITEMS(v_as_SF);}if (ilow ilow  0;else if (ilow  Py_SIZE(a))ilow  Py_SIZE(a);if (ihigh ihigh  ilow;else if (ihigh  Py_SIZE(a))ihigh  Py_SIZE(a);norig  ihigh - ilow;assert(norig  0);d  n - norig;if (Py_SIZE(a)   d  0) {Py_XDECREF(v_as_SF);return list_clear(a);}item  a-ob_item;/* recycle the items that we are about to remove */s  norig * sizeof(PyObject *);if (s  sizeof(recycle_on_stack)) {recycle  (PyObject **)PyMem_MALLOC(s);if (recycle  NULL) {PyErr_NoMemory();goto Error;}}memcpy(recycle, item[ilow], s);if (d memmove(item[ihigh d], item[ihigh],(Py_SIZE(a) - ihigh)*sizeof(PyObject *));list_resize(a, Py_SIZE(a)   d);item  a-ob_item;}else if (d  0) { /* Insert d items */k  Py_SIZE(a);if (list_resize(a, k d) goto Error;item  a-ob_item;printf(关键点\n);/*把list对应切片后一位的值之后的所有内容向后移动所赋值的大小按照上面的python代码这里就是原理的t:|1|2|3|后移一位因为len([7])  1|1|空|2|3|把后两个移位*/memmove(item[ihigh d], item[ihigh],(k - ihigh)*sizeof(PyObject *));}/*赋值操作即把[7]赋值到t里的对应位置上ilow是1, n是1*/for (k  0; k PyObject *w  vitem[k];Py_XINCREF(w);item[ilow]  w;}for (k  norig - 1; k  0; --k)Py_XDECREF(recycle[k]);result  0;Error:if (recycle ! recycle_on_stack)PyMem_FREE(recycle);Py_XDECREF(v_as_SF);return result;#undef b}源码内有详细注释编程问题的研究最好的解释还是源码。
http://www.zqtcl.cn/news/736312/

相关文章:

  • 怎么查询网站开通时间建个短视频网站
  • 物流网站建设广东网站建设效果
  • 网站推广工作流程图天蝎网站建设
  • 备案ip 查询网站查询网站校园门户网站建设方案
  • 网站seo快速优化技巧建设网站的需要学习哪些课程
  • 网站建设微信托管wordpress p=
  • 专业手机网站制作哪家好吉林建筑大学本科招生网
  • 建立一个网站需要哪些google和百度等相关网站的广告词
  • 手机开发网站教程做古建的那些网站比较适合
  • 网站建设公司的前景长沙商城网站开发
  • 大型网站tag标签 索引自己做网站需要哪些软件
  • 石排做网站万网网站备案流程
  • 南京建设银行网站首页简单的ui界面制作
  • 门户网站 建设 如何写如何布置网站
  • 网站前台功能模块介绍建设银行信用卡网站是哪个好
  • 用python做网站我那些网站开发开发语言
  • 建设网站怎样做安卓app软件公司
  • 重庆seo整站优化效果上海城建建设官方网站
  • 做淘宝要网站兰州画册设计
  • 外贸网站排行榜前十名电影网站标题怎么做流量多
  • 网站建设吉金手指专业13网站备案完成后不解析
  • 社保网站减员申报怎么做长春建筑网站
  • 网站开发用原生wordpress读者墙
  • 食品网站网页设计成都建网页
  • 网站建设 珠海专业团队表情包张伟
  • 建设铝合金窗网站.net制作网站开发教程
  • 网站后台服务器内部错误wordpress 多级菜单
  • 怎样更新网站内容怎么查看网站是哪家公司做的
  • 建设网站网站建站建立一个网站平台需要多少钱
  • 学校网站模板 html网站建设技术路线