Python核心编程(第二版)——笔记
第一章 欢迎来到Python世界
1.5.4 其他的集成开发环境和执行环境
- 避免双击Python文件打开DOS,但执行完毕后窗口关闭。另一种办法就是在脚本最后一行加
raw_input()
语句,这样可以保持窗口开着,直到按下回车。
- 标准Python是用C来编译 的,又称Cpython。还有其他的Python实现。http://python.org/dev/implementations.html
- Java(Jython)http://jython.org
- .NET/Mono(IronPython)http://boo.codehaus.org
- Stacklesshttp://stackless.com
2.1 程序输出,print语句及“hello world”
- 在交互式解释器中,可以用
print
语句显示变量的字符串表示,也可以仅用变量名查看变量的原始值。print
语句调用str()
函数显示对象,交互式解释器则调用repr()
函数显示对象。
- 有一种叫文档字符串的特别注释,与普通注释不同,文档字符串可以在运行时访问,也可以用来生成文档。
def foo():
'this is a doc string'
return True
2.4 操作符
- 算数操作符
+
-
*
/
//
%
**
逻辑操作符and
or
not
- Python支持增量赋值,及操作符和等号合并在一起。不支持C语言中的自增1和自减1操作符,因为
+
和-
也是单目操作,Python会把--n
解释为-(-n)
从而得到n。
- Python还支持
elif
(意指“else-if”)语句
if expression1:
if_suite
elif expression2:
elif_suite
else:
else_suite
2.20 实用的函数
函数 | 描述 |
---|---|
dir([obj]) | 显示对象属性,如果没有参数,则显示全局变量的名字 |
help([obj]) | 帮助 |
int(obj) | |
len(obj) | |
open(fn,mode) | 以mode('r'=读,'w'=写)方式打开文件 |
range([start,]stop[,step]) | start默认为0,step默认为1 |
raw_input(str) | str用作提示信息 |
str(obj) | |
type(obj) | 返回对象类型(返回值本身是一个type对象) |
3.1.2 继续(\)
- 使用反斜杠(\)分行代码。
- 在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号、中括号、花括号。
- 三引号包括的字符串也可以跨行。
- Python的赋值语句不会返回值,以下非法
x = 1; y = (x = x + 1)
,链式赋值没有问题y = x = x + 1
。
-
x, y, z = 1, 2, 'a string'
或加上括号增加可读性(x, y, z) = (1, 2, 'a string')
Python的多元赋值,可实现无需中间变量交换两个变量的值。
-
_xxx
不用'from module import *'导入。 -
_xxx_
系统定义名字。 -
_xxx
类中的私有变量名。
- 如果模块是被导入,
__name__
的值为模块名;如果被执行,则值为__main__
。
-
del
语句删除对象的一个引用。del obj1[, obj2]
4.3.2 None——Python的Null对象
- Python中有个特殊的类型,被称为Null对象或者NoneType,它只有一个值,那就是None。
>>>type(None)
【Python核心编程(第二版)——笔记】所有类型对象的类型都是type。
>>>type(int)
>>>type(type('string'))
4.5.2 对象身份比较
- Python提供
is
和is not
操作符来测试两个变量是否指向同一个对象。a is b
等价于id(a) == id(b)
。
>>> a=1
>>> id(a)
1613476928
>>> b=1
>>> id(b)
1613476928
>>> c=1.0
>>> id(c)
3132405387528
>>> d=1.0
>>> id(d)
3132405387552
>>> d=c
>>> id(d)
3132405387528
>>> e='string'
>>> id(e)
3132406864448
>>> f='string'
>>> id(f)
3132406864448
4.6 标准类型内建函数
函数 | 功能 |
---|---|
cmp(obj1,obj2) | if obj1 |
type(obj) | |
isinstance(num,int) | 返回值为布尔类型 |
str(obj) | |
repr(obj)或`obj` | 通常情况下obj == eval(repr(obj)) 是成立的 |
5.4 复数
属性 | 描述 |
---|---|
num.real | 复数的实部 |
num.imag | 复数的虚部 |
num.conjugate() | 复数的共轭 |
- 幂运算操作符比其左侧操作数的一元操作符优先级低,比其右侧操作数的一元操作符优先级高。
-
cmp()
、str()
、type()
内建函数,这些函数可用于所有标准类型。
-
bool()
、int()
、long()
、float()
、complex()
用来将其他数据类型转换为相应的数据类型。 -
abs(num)
、coerce(num1,num2)
、divmod(num1,num2)
、pow(num1,num2,mod=1)
、round(flt,ndig=1)
-
oct()
、hex()
用于接收一个整型(任意进制)并返回一个对应值的字符串对象。
函数 | 操作 |
---|---|
chr(num) | 将ASCII值的数字转换成ASCII字符,0<=num<=255 |
ord(chr) | 与chr(num)相反 |
unichr(num) | 接受Unicode码值,返回其字符 |
- 没有
__nonzero__()
方法对象的默认值是True
。
推荐阅读
- 【python魔术方法】__get*__相关方法
- python开发人工智能扫一扫人脸识别系统_Python3+TensorFlow|python开发人工智能扫一扫人脸识别系统_Python3+TensorFlow 打造人脸识别智能小程序...
- python学习|python+opencv+百度智能云 人脸识别——视频人脸锁定
- python学习|python+opencv+百度智能云 人脸识别——人数识别+标记
- python学习|python+opencv+百度智能云 人脸识别——人脸相似度对比
- python|10个非常有趣的Python库,可以玩上一整天
- python|Python数据可视化的3大步骤,你知道吗()
- 大数据|Python的打包神器—Nuitka
- python|Python+AI智能编辑人脸
- 浅聊我和一些编程语言的缘分