最近研究了一下Python,名不虚传,确实挺精彩。html
学习一门新的语言,我认为从入门到精通的作法是:下SDK、装IDE、练教程、结合工做应用、不断踩坑进阶、梳理总结python
1.下SDK(2.7.15)windows
下载地址:https://www.python.org/downloads/release/python-2715/运维
若是没有历史包袱,建议用3.X机器学习
2.装IDE(PyCharm)函数
下载地址:https://www.jetbrains.com/pycharm/download/#section=windows工具
建议下载专业版,本身百度破解学习
JetBrains作的一系列工具都很好用编码
3.练教程spa
菜鸟教程比较适合菜鸟入门:http://www.runoob.com/python/python-tutorial.html
标识符区分大小写,能够包括英文、数字以及下划线(_),但不能以数字开头(为何不少语言的标识符都不能以数字开头呢?)
用缩进来写模块,缩进的空白数量是可变的,可是全部代码块语句必须包含相同的缩进空白数量,对缩进要求很是严格
单行注释采用 # 开头,多行注释使用三个单引号(''')或三个双引号(""")
函数之间或类的方法之间用空行分隔,在于分隔两段不一样功能或含义的代码,便于往后代码的维护或重构
Python有5个标准的数据类型,全部数据类型都是类,能够经过 type() 查看该变量的数据类型
5.Dictionary(字典)
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等,相似传址与传值,可使用id()函数(用于获取对象的内存地址)进行判断
不支持 switch 语句,因此多个条件判断,只能用 elif 来实现
pass 通常用于占位,好比def了一个函数,只有一行:pass
绝对值函数:
内置的time、calendar模块用于处理时间和日历,datetime模块也比较好用
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(),函数内容以冒号起始,而且缩进,函数最后可使用return设置返回值,也能够没有返回值
若是要给函数内的全局变量赋值,必须使用 global 语句
导入其余模块使用import,和Java相似,C#用使用using
import 导入模块,每次使用模块中的函数都要是定是哪一个模块:模块.函数
from…import * 导入模块,每次使用模块中的函数,直接使用函数就能够了,由于已经知道该函数是那个模块中的了
推荐使用 import 语句,避免使用 from … import,由于这样可使你的程序更加易读,也能够避免名称冲突
设置环境变量:set PYTHONPATH=c:\python27\lib;
包就是文件夹,但该文件夹下必须存在 __init__.py(用于标识当前文件夹是一个包) 文件, 该文件的内容能够为空
异常使用try...except..else...finally,抛出异常使用raise,而不像其余语言同样用throw
try: code #须要判断是否会抛出异常的代码,若是没有异常处理,python会直接中止执行程序 except: #这里会捕捉到上面代码中的异常,并根据异常抛出异常处理信息 #except ExceptionName,args: #同时也能够接受异常名称和参数,针对不一样形式的异常作处理 code #这里执行异常处理的相关代码,打印输出等 else: #若是没有异常则执行else code #try部分被正常执行后执行的代码 finally: code #退出try语句块总会执行的程序
4.结合工做应用
运维、爬虫、机器学习
5.不断踩坑进阶
5.1 中文编码
若是中文显示乱码,须要在头部指定编码
在文件开头加入 # -*- coding: UTF-8 -*- 或 #coding=utf-8
【注】Python3默认使用UTF-8编码,不须要进行处理,因此后来者居上,是有道理的
5.2 整型池
Python 中会事先建立一个小型的整形池,范围为 [-5,256],为这些整形开辟好内存空间,当代码中定义该范围内的整形时,不会再从新分配内存地址,因此用is判断两个该范围的数时,返回值是True
5.4 TRUE与FALSE
元素除了是 0、空、FALSE 外都算 TRUE
6.梳理总结
6.1 网上看到的一个基础语法图
6.2 保留字符
6.3 内置函数