【Python】我的Python学习笔记【1】【using Python 2】

1.模块格式

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
...
...
def main():
  ...
...
...
if __name__=='__main__':
main()

2.

简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。


3. 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。


4. 一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Python Imaging Library的名称叫PIL ,因此,安装Python Imaging Library的命令就是:

代码语言:javascript
复制
pip install PIL

运行

代码语言:javascript
复制
pip install PIL --allow-external PIL --allow-unverified PIL

命令时,提示说没有安装c++,从提示里给的网址下载安装C++后,再执行上面这个命令就成功了Successfully installed PIL


5. 需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__ 、__score__这样的变量名。


6. 有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问 ,但是,请把我视为私有变量,不要随意访问”。


7. 注意有一种类型就叫TypeType,所有类型本身的类型就是TypeType,比如:

代码语言:javascript
复制
>>> type(int)==type(str)==types.TypeType
True

8.一个例子,感受一下os.path.join()的作用

代码语言:javascript
复制
>>> path='.'
>>> new_path='zk'
>>> jon = os.path.join(path,new_path)
>>> jon
'.\\zk'

9.常用格式

代码语言:javascript
复制
try:
import cPickle as pickle
except ImportError:
import pickle

10. 我们可以偷个懒,把任意class的实例变为dict:

代码语言:javascript
复制
import json
class Student(object):
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
s = Student('Bob', 20, 88)
print(json.dumps(s, default=lambda obj: obj.__dict__))

因为通常class的实例都有一个__dict__属性,它就是一个dict,用来存储实例变量。也有少数例外,比如定义了__slots__的class。