刚学完《An Introduction to Interactive Programming in Python (Part1 & Part2)》,又注册了南京大学的《用Python玩转数据》。这次花了29美金,希望能顺利获得证书。
为了避免被种木马,翻墙从Github下载了Pythonxy。
第1周是基础知识,已经学到的就不记笔记了,这里只记没有在莱斯大学学到的。
1、Python没有常量,只有变量。约定俗成的做法是:
如果变量名全是大写英文字母,则是常量。所以莱斯大学授课的例子,canvas的宽度和高度都是用全大写变量名。
类似 _name
这种单下划线开头的变量名,是私有变量。同样在@田小计划 的博文中就有讲到:
在Python中,通过单下划线
_
来实现模块级别的私有化,一般约定以单下划线_
开头的变量、函数为模块私有的,也就是说from moduleName import *
将不会引入以单下划线_
开头的变量、函数。
OK, 实际上还有 __
双下划线开头的变量,就是 class attributes
2、复数,实数和虚数
喔,这是一个很专业的数学概念,虚数就是根号-1,一个虚拟的数。这篇blog讲的很详细了:http://f.dataguru.cn/thread-322143-1-1.html
在很久以前,数学家们被下面这样的等式困扰。
㎡ = -1
这是因为任何实数(无论正数还是负数)乘以自己总是会得到一个非负数。一个数怎么可以乘以自己却得到一个负数?没有这样的实数存在。就这样, 直到18 世纪, 数学家们发明了一个虚拟的数 i (或者叫j,看你读的是哪本教科书了)
num.real
该复数的实部
num.imag
该复数的虚部
num.conjugate()
返回该复数的共轭复数
虚部的属性是imag,也就是imagination,想象出来的数,哈哈
数值和科学计算会用到复数,现在我还不懂,以后遇到了再研究吧。
3、包Package, 库library, 模块module
这篇blog用大白话总结了三者之间的区别:http://blog.sciencenet.cn/blog-478347-863125.html
简单讲,Python没有library的概念,或者说,在Python中,library = module
module就是一个.py的文件,包含了一些函数和类
而package就是个文件夹,存放了若干个module。
当然,只是把一些module放到一个文件夹里面是无法成为package的,必须有一个__init__.py
文件,而且需要在init里面预先import module。这篇blog介绍的很详细:http://arganzheng.iteye.com/blog/986301
4、True == 1, False == 0
5、Python 2 和 3 的区别:
http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/
http://www.zhihu.com/question/19698598
6、Python支持多元赋值和多重赋值
http://3600cn.com/achives/336
多重赋值:
x = y = z = 1
多元赋值:
x, y = 1, 2
x, y = y, x