一些定义脚本python是脚本语言
以.py结束的文件,可以在终端运行
终端 cd操作进入脚本所在的文件夹下,再用python xx.py即可运行该xx脚本
2. 模块
模块是包含定义和语句的python文件(脚本)
3. 对象、类类 class:相当于施工图纸
对象 object:根据施工图纸建造的房子
当你打出 a = 2,然后回车。python中的“integer class”将会根据你的要求,“创建“一个对象,这个对象是根据integer class的施工图纸创造的。
下图中:圆圈是对象,a是标签对象三个特性:id、type、value
如果再输入:b = 2
b也是一个标签,挂在圆圈对象上
恒等运算符与 == 的区别:‘==’是比较运算符,判断两边的值是否相等。
‘is’ 是恒等,判断的是对象间的唯一身份标识(id)
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == b) # True
print(a is b) # True
print(a == c) # True
print(a is c) # False只有数值型和字符串型的情况下,a is b才为True
当a和b是tuple,list,dict或set型时,a is b为False
模块导入import 模块(脚本)
导入模块中的所有对象import 语句写在python脚本的顶部,每个导入语句各占一行。
通过import语句会创建一个模块对象
如果要导入的模块(脚本)位于当前脚本同一目录下,无需扩展名.py
import pandas可以为导入模块添加别名,以简短引用
import pandas as pd
2. from import
导入模块中的部分对象
from module_name import first_object_name, second_object_name
from module_name import object_name as new_name
from datetime import datetime
# 接下来的datetime将指代datetime类,而不是datetime模块
3. 导入子模块
python标准库中的某些模块含有大量代码,为了更好地管理这些代码,他们都被拆分成了若干子模块,并包含在软件包中。
import os.path
# 导入os软件包(模块)中的path子模块
4. if main 模块假设模块1中有测试代码,在当前脚本中导入该模块1后,不想在当前脚本执行模块1中的测试代码,则可以在模块1中的测试代码前加入:
if __name__ == '__main__':
print("Testing mean function")__name__: python会为所有模块设置的一个特殊的内置变量
__main__: 运行脚本时,python会将此脚本识别为主程序,并将此脚本的__name_变量设置为字符串 __main__
在其他脚本中导入模块1,模块1的内置__name__变量会设置为该模块的名称
print(pd.__name__)
print(__name__)因此,条件if __name__ == "__main__"会检查该模块是否为主程序
库
1.python标准库Python 3 Module of the Weekpymotw.com
标准库里有很多已经写好的模块,模块名称均为小写形式
推荐的使用模块:csv:读取csv文件
collections:常见数据类型的使用扩展,包括OrderedDict、defaultdict、namedtuple
random:生成伪随机数,随机打乱序列,选择随机项
string:关于字符串的更多函数。还包含实用的字母集合,例如string.digits
re:通过正则表达式在字符串中进行模式匹配
math:一些标准数学函数
os:与操作系统交互
os.path:os的子模块,用于操纵路径名称
sys:直接使用Python解释器
json:适用于读写json文件(面向网络开发)
2.第三方库Home | Read the Docsreadthedocs.org
第三方库的导入语句应放在标准库导入语句之后
一些实用的第三方软件包:
requirements.txt 文件该文件的每行包含 软件包名称 和 版本号 。
# 一个requirements.txt 文件示例
beautifulsoup4==4.5.1
bs4==0.0.1
pytz==2016.7
requests==2.11.1
2. 可以使用pip一次性安装项目的所有依赖项,方法是在命令行输入 pip install -r requirements.txt