该文索所起之因:在练习列表的操作时,要输出一波操作后的列表,但是一直让本人耿耿于怀的时下边的这个现象:

红色框框里是字符串,黄色框框里是列表,同样是只对一个元素进行的操作,为啥输出时字符串是作为一个整体输出,而列表却输出了一个“None”,什么情况?于是多次实验,不管是remove还是extent等等,都输出一个“None”。“None”“None”“None”你就只会一个“None”吗?竟然给我一个空?一万个“WTF”油然而生。

​ 难受,欲求其果,遂翻遍整个百度,扑天盖地都是关于string和list的使用,结果然并卵。思定,是我见识太短浅?不对,一定是我思考的方式不对,那比较看看吧,目前我掌握的信息有:

  1. 字符串是不可变类型,而列表是可变类型;
  2. 对字符串进行相关的操作时,都会在内存中新建一个新的字符串做结果;
  3. 对列表进行操作时,都是直接是在列表本身进行的;

hold on ,hold on !有点意思,罪魁祸首是不是要从这里查起呢?于是翻出《Learning Python 5th Edition 》--不愧是一本神书,Look what I get:

​ 果不其然,numbers,strings,tuples都是immutable,并且they cannot be changed inplace after they are created。而lists,dictionaries and sets are not--they can be changed in place freely。

​ 实施正如所想,之所以对字符串进行操作后,哪怕仅仅只是对一个元素进行了修改,都是会得到一个新建的字符串,我称其为影分身,所以输出时,它可以代替实体显示在我们面前;而列表不一样,所有的操作都是在列表本体直接进行,它没有影分身任我们宰割,所以输出其操作流程时,我们只能得到一个空响。

​ 真相大白,水落石出,一身轻松!

<<<<<<<<表达如有不妥之处,还请各路大神指正!

python学习之那些由print引起的困惑的更多相关文章

  1. Python学习-第一天-函数和模块的使用

    目录 Python学习-第一天总结 print输出的一种简单格式 函数参数之可变参数 模块管理函数 if else语句的单行实现(简洁) 变量作用域 函数书写格式 Python学习-第一天总结 pri ...

  2. 第一次接触python:学习最简单的print及变量

    # -*- coding:utf-8 -*- print "hello world" print("hello world") 这里面使用了2中print方式, ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  5. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  6. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  7. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  8. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  9. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

随机推荐

  1. The Preliminary Contest for ICPC Asia Nanchang 2019 B. Fire-Fighting Hero

    题目:https://nanti.jisuanke.com/t/41349 思路:dijkstra最短路径 先以 fire-fighting hero为起点 跑一遍dijkstra 建立 起点 p 并 ...

  2. Hihocoder1046K个串(线段树)(待解决)

    描述 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续 ...

  3. 查看Spring MVC 父容器和子容器的对象的实例

    话不多说,直接上案例 package com.oukele.web; import org.springframework.beans.factory.annotation.Autowired; im ...

  4. [转]C++引用

    引用的概念 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. 引用的声明方法:类型标识符 &引用名=目标变量名: 如下:定义引用ra,它是变量a的引用,即别名. i ...

  5. Rest_Framework简介

    Web应用模式 在开发Web应用中,有两种应用模式:前后端不分离和前后端分离 前后端不分离 前后端不分离通俗来讲就是不区分前端和后端,浏览器请求时服务器直接返回页面,其示意图如下 前后端分离 前后端分 ...

  6. DevOps之Pipeline集成junit、jacoco、SonarQube(二)

    一.准备工作 1.准备一个持续集成的代码工程 工程下载地址: Github地址为:https://github.com/zbbkeepgoing/springboot-demo 2.springboo ...

  7. DEDE怎么让栏目列表以权重拍排列

    方法/步骤     进入后台到栏目里,新发布文章也行,编辑文章也行,你会看到有个权重值,不管你怎么改变保存后依然没有变化.   修改权重值,打开dede\album_edit.php文件,找到 UPD ...

  8. c++复习——一个小疑问

    C++中,子类为什么不能访问基类的private数据?     emmm  来自一个vegetable dog的疑问:   首先基类可以通过调用自身public成员函数来访问private 而子类又可 ...

  9. 1502: [NOI2005]月下柠檬树

    一堆圆台平行光的投影 在草稿纸上画一下,发现对于一个圆,它投影完还是一个半径不变的圆. 定义树的轴在投影平面上经过的点为原点,定一个正方向,建立平面直角坐标系, 能发现,对于一个半径为\(r\),高度 ...

  10. Jmeter(五)关联之正则表达式提取器

    我们在用Jmeter做接口或者性能测试时,经常会碰到第二个请求提交的的参数要从第一个请求返回的参数中获取,而这些参数值并不是固定的,是动态变化的,这种场景就要用到关联 Jmeter提供了一种叫做正则提 ...