一、应用
python应用:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算。
使用python的企业:YouTube、dropbox、BT、Quora、豆瓣、知乎、google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美图。
python应用领域:云计算(openStack)
WEB开发(WEB框架多)
科学运算、人工智能(Numpy、Scipy、Matplotlib、Enthought library、Pandas)
系统运维(脚本)
金融:量化交易、金融分析,在金融工程领域,python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于C、C++、Java,尤其擅长策略回测
图形GUI:pyQT、WxPython、TkTnter
二、解析
语言 编译 虚拟机 执行 | ||||
C 机器码 CPU | ||||
其它 字节码 机器码 CPU |
三、种类
Cpython | C语言实现 | pyc文件(字节码文件) |
Jython | Java实现 | Java字节码(JVM) |
IronPython | C#实现 | C#字节码(CLR) |
PyPy | Python实现 | Python字节码 |
RubyPython | ||
brython | ||
…… |
四、内部执行过程
五、解释器
#!/usr/bin/env python
指定解释器为python
六、注释
单行注释:#被注释内容
多行注释:'''被注释内容''' 或 """被注释内容"""
七、执行脚本传入参数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
sys
print
sys.argv
八、变量
变量定义的规则:
变量名只能是字母、数字或下划线的任意组合
变量名的第一个字符不能使数字
以下关键字不能声明为变量名
['and','as','assert','break','class','continue','def','del','elif','else','except','exec','finally','for','from','global','if','import','in','is','lambda','not','or','pass','print','raise','return','try','while','with','yield']
九、输入
输入密码时,如果想要不可见,想要利用getpass模块中的getpass方法,即:
#! /usr/bin/env python
#-*- coding:utf-8 -*-
import getpass
pwd = getpass.getpass(“请输入密码:”)
print pwd
十、万恶的字符串拼接
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候想要在内存中开辟一块连续的空间,并且一旦想要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内存中重新开辟一块空间。
字符串格式化方法:
name = “name”
print “this is %s” %name #字符串是%s,整数是%d,浮点数是%f
十一、运算符优先级
运算符 | 描述 |
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号 (最后两个的方法名为+@和-@) |
* / % // | 乘、除、取模和取整除 |
+ - | 加法减法 |
>> << | 右移、左移 |
& | 位‘AND’ |
^ | | 位运算符 |
<= <> >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **=A:A |
赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
十二、文件操作
file_obj = open("文件路劲",模式)
file_obj.read() #一次性加载所有内容到内存
file_obj.readlines() #一次性加载所有内容到内存,并根据行分割成字符串
for line in file_obj:
print line
file_obj.write('内容')
file_obj.close()