Python 学习笔记

太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅。

摘要:一些报错;为啥Python没有自增 ++ 和自减 --


0x01

  字符串的单双引号问题:

    Python不是JS,也不是Shell,单双引号在执行上没有任何差别。只不过字符串包含单(双)引号的手,包裹字符串的引号需要是双(单)引号。

0x02

  含参数的脚本调用:

    python filename.py arg1 arg2 ag3  ==> sys.argv   # sys.argv == ["filename.py", "arg1", "arg2", "arg3" ]

0x03

  "IndentationError: unindent does not match any outer indentation level" :

    很有可能因为你在一行代码的缩进里面混着用了空格和tab -- 建议写代码之前把编辑器的tab缩进替换成四个空格,这样就永远不会出现“混着用空格tab”的问题了。

    当然还有可能是你没对齐代码,比如本来用四个空格的缩进表示代码块,你有一部分代码块用的三个空格,也会报这个错。

0x04

  "NameError: name 'n' is not defined":

    针对input函数,这是一个Python2.7的报错。习惯了python3.x之后,我们不知道python2.x使用的 input() 函数和3.x使用的有所不同。

    **2.7**

    有两种 获取标准输入 的函数,他们分别是 "input()" 和 "raw_input()", 后者行为方式和现在使用的 input 函数相似,接受的所有内容均视为字符串,而前者则需要输入的时候符合编程规则,如下图所示

可以看出两种函数对不同输入的支持程度是不同的。

0x05 

  “SyntaxError: invalid character in identifier”:

    他会具体给你标出来那里引发的这个问题,如下所示:

1     def test(user):
2                   ^
3 SyntaxError: invalid character in identifier

    你需要回到代码看看它标记出来的那个字符,你是不是用成了中文字符,这个问题尤其常见在冒号的使用上!

0x06

  Python Linux编程学到的知识们 (脚本地址:https://www.cnblogs.com/jackablack/p/10717727.html)

  1.Python 没有自增自减!一种解释是Python对待变量的逻辑类似于指针,它将被赋予相同值的变量指向了相同的id,我觉得还是有一些道理的,如下引用:

https://stackoverflow.com/questions/3654830/why-are-there-no-and-operators-in-python/3654973

My understanding of why python does not have ++operator is following: When you write this in python a=b=c=1you will get three variables (labels) pointing at same object (which value is 1). You can verify this by using id function which will return an object memory address:
我针对为什么Python没有自增运算符的理解是这样的: 当你在Py里面写 a = b = c = 1的时候,你将会得到指向同一个对象(它的值为1)的三个变量(或称标签)。你可以通过使用 id() 函数来验证这一点,这个函数会返回一个对象的内存地址。

In [19]: id(a) Out[19]: 34019256 In [20]: id(b) Out[20]: 34019256 In [21]: id(c) Out[21]: 34019256

All three variables (labels) point to the same object. Now increment one of variable and see how it affects memory addresses:

上面三个变量都指向了同一对象,现在给其中某一个变量加上1,看一下它的内存地址发生了什么改变?

In [22] a = a + 1 In [23]: id(a) Out[23]: 34019232 In [24]: id(b) Out[24]: 34019256 In [25]: id(c) Out[25]: 34019256

You can see that variable a now points to another object as variables b and c. Because you've used a = a + 1 it is explicitly clear. In other words you assign completely another object to label a. Imagine that you can write a++ it would suggest that you did not assign to variable a new object but ratter increment the old one. All this stuff is IMHO(In My Humble Opinion, 依我所见) for minimization of confusion.

你可以发现,变量a相较于变量b和c,现在指向了另一个对象。原因显然是你给a加了1。换言之你是给标签a赋了另一个对象。现在假设你能在Py里面写自增,那么你得到的是对旧的对象的增加,而不是赋给另一个对象,这一切都是为了减少理解上的麻烦(使逻辑更清晰)。

  

  2.python 脚本的执行,是在程序运行开始的时候确定的地址运行的,改换工作路径的方法是使用 os.chdir() 函数。使用 os.system("cd ./xxxx") 是无效的,它的有效期只有着一条命令而已,随着函数结束工作路径会回到函数开始的地址。

转载于:https://www.cnblogs.com/jackablack/p/10614686.html

Python 学习笔记 - 不断更新!相关推荐

  1. Python学习(1)——小甲鱼零基础入门python学习笔记(更新-ing)

    001讲 愉快的开始 1. Python的安装 此电脑-->右击-->检查电脑是32位还是64位 第二步:访问官网:http://www.python.org-->Downloads ...

  2. python学习笔记--随时更新

    # coding=GBK score = 90 if score >= 80:print("好") elif score >= 60:print("及格&qu ...

  3. Python学习笔记编程小哥令狐~持续更新、、、

    Python学习笔记~编程小哥令狐 文章目录 Python学习笔记~编程小哥令狐 一.Python运行发生情况 二.变量 2.1变量引入前说明 2.2变量的命名和使用 2.3字符串 2.3.1使用方法 ...

  4. 蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)

    蒟蒻的python 学习笔记 前言 课一:python语言程序设计 第一周:python 基本语法元素 1.1 程序设计基本方法 1.2 python 环境配置 1.3 实例1:温度转换 1.4 py ...

  5. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  6. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  7. Python学习笔记:Day15 部署Web App

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  9. Python学习笔记:字典(dict)

    Python学习笔记:字典(dict) 字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(hash map)或关联数组(associate array).它是键值对的集合 ...

  10. python学习笔记(14)参数对应

    python学习笔记(14)参数对应 原链:http://www.cnblogs.com/vamei/archive/2012/07/08/2581264.html 笔记: 1 #第14讲 2 #参数 ...

最新文章

  1. PCA的数学原理(通俗易懂)
  2. ruby1.8.6 安装watir是出现问题记录
  3. 转:JS动态加载JS
  4. 基于VMware Workstation创建虚拟机,以Ubuntu16.04为例
  5. 使用smo算法编写svm对CIFAR-10数据分类
  6. ubuntu mate 开机自动启动ssh服务
  7. BP神经网络数据预测(excel)
  8. 电子申报系统服务器地址,广东企业电子申报管理系统62使用说明-广东税务局.PDF...
  9. PR(Premiere)安装插件Aescripts BeatEdit(Beat Edit)后无法打开的解决方案
  10. 安全测试工具有哪些?
  11. 安卓Camera屏幕竖屏适配
  12. QFS文件系统-学习记录
  13. 转型OMO的背后:考虑机构的资金和实力-线上线下融合式教学
  14. 2014年至今参与的五个项目总结
  15. 计算一个有向图中出度为零和入度为零的顶点个数
  16. 小米MIx3 miui11国际版本地化
  17. Day18-恶魔低语: [递归迭代], 两种方法掌握一下
  18. 二年级课程表(3月28日-4月1日)
  19. hdu5445 Food Problem(背包)
  20. stm32驱动mpu6050、mpu6500、mpu9250心得

热门文章

  1. 关于公司RIA的选型问题
  2. 干货 | 这是一份你急需的数据分析的职业规划
  3. hdu--1181--变形课
  4. Oracle Sql优化一例---利用函数索引
  5. 关于memcpy和 strcpy的区别 以及memset
  6. 七 、Quartz 2D Bitmap上下文
  7. 实验一 DOS命令解释程序的编写
  8. Linux下history命令用法
  9. 小结Python的中文处理(转)
  10. 偏差、方差和噪声的权衡关系