Python 学习笔记 - 不断更新!
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 pythona=b=c=1
you 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 variablesb
andc
. Because you've useda = a + 1
it is explicitly clear. In other words you assign completely another object to labela
. Imagine that you can writea++
it would suggest that you did not assign to variablea
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 学习笔记 - 不断更新!相关推荐
- Python学习(1)——小甲鱼零基础入门python学习笔记(更新-ing)
001讲 愉快的开始 1. Python的安装 此电脑-->右击-->检查电脑是32位还是64位 第二步:访问官网:http://www.python.org-->Downloads ...
- python学习笔记--随时更新
# coding=GBK score = 90 if score >= 80:print("好") elif score >= 60:print("及格&qu ...
- Python学习笔记编程小哥令狐~持续更新、、、
Python学习笔记~编程小哥令狐 文章目录 Python学习笔记~编程小哥令狐 一.Python运行发生情况 二.变量 2.1变量引入前说明 2.2变量的命名和使用 2.3字符串 2.3.1使用方法 ...
- 蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)
蒟蒻的python 学习笔记 前言 课一:python语言程序设计 第一周:python 基本语法元素 1.1 程序设计基本方法 1.2 python 环境配置 1.3 实例1:温度转换 1.4 py ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
- Python学习笔记:Day15 部署Web App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Deep learning with Python 学习笔记(9)
神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...
- Python学习笔记:字典(dict)
Python学习笔记:字典(dict) 字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(hash map)或关联数组(associate array).它是键值对的集合 ...
- python学习笔记(14)参数对应
python学习笔记(14)参数对应 原链:http://www.cnblogs.com/vamei/archive/2012/07/08/2581264.html 笔记: 1 #第14讲 2 #参数 ...
最新文章
- PCA的数学原理(通俗易懂)
- ruby1.8.6 安装watir是出现问题记录
- 转:JS动态加载JS
- 基于VMware Workstation创建虚拟机,以Ubuntu16.04为例
- 使用smo算法编写svm对CIFAR-10数据分类
- ubuntu mate 开机自动启动ssh服务
- BP神经网络数据预测(excel)
- 电子申报系统服务器地址,广东企业电子申报管理系统62使用说明-广东税务局.PDF...
- PR(Premiere)安装插件Aescripts BeatEdit(Beat Edit)后无法打开的解决方案
- 安全测试工具有哪些?
- 安卓Camera屏幕竖屏适配
- QFS文件系统-学习记录
- 转型OMO的背后:考虑机构的资金和实力-线上线下融合式教学
- 2014年至今参与的五个项目总结
- 计算一个有向图中出度为零和入度为零的顶点个数
- 小米MIx3 miui11国际版本地化
- Day18-恶魔低语: [递归迭代], 两种方法掌握一下
- 二年级课程表(3月28日-4月1日)
- hdu5445 Food Problem(背包)
- stm32驱动mpu6050、mpu6500、mpu9250心得