Python 是吉多‘范罗姆偶然下开发出来的脚本解释语言,作为abc语言的继承。
python可应用的领域有,组件集成,数据分析,网络服务,图像处理,数值计算和科学计算等众多领域。
目前python的主要应用领域:
1.云计算,云计算最火的语言,典型应用openstack
2.web开发:众多优秀的web框架,众多大型网站军委python开发。youtube dropbox 豆瓣,典型web框架有django
3.系统运维:运维人员必备语言
4.金融: 量化交易,金融分析,在金融工程里领域,python不但在用,且用的最多。 作为动态语言,语言结构清晰简单,库丰富,成熟稳定。 生产效率远高于c,c++,java 尤其擅长策略回测
5.图形GUI: pyQT,wxpython,tkinter
编程语言的分类:
基于编译方式可以分为:
编译型 (c,c++,go,swift,oc,pascal)
编译型是把每一条代码都编译成机器语言,并保存成二进制文件,这样运行时可以直接以机器语言来运行程序。
解释型(js,python,ruby,php,perl,erlang)
解释型就是执行程序时,根据代码一条条的解释成机器语言给计算机执行。
还有一种混合型的:
java,c#
基于语言特征分为:
静态语言
数据类型是在编译期间检查的,也就是说写程序时要声明所有变量的数据类型。
动态语言
在运行期间才检查数据类型的语言,也就是说在动态类型的编程语言编程时,永远也不用给任何变量制定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
python和ruby就是一种典型的动态类型语言,其他各种脚本语言如vbs也多少属于动态语言。
基于类型可以分为:
弱类型
数据类型可以被忽略。
强类型
强制数据类型定义,就是说类型一旦定义。则无法改变。
Pyhon的解释器:
CPython 2.7 默认自带的官方解释器,该解释器是用c语言开发的。
IPython 基于CPython 之上的一个交互式解释器,是cpython的交互增强版。
PyPy 第三方解释器,优点是执行速度。pypy采用jit技术,对py代码近行动态编译,所以显著提高执行效率。
jython 是运行在java平台上的python解释器,可以直接把py代码编译成java字节码执行。
IronPython 和jython 类似,只不过是运行在微软 .net 平台上的py解释器。
python 的安装:
windows: 略过,众人皆知。
linux:
记录下关于fedora 的安装大概,首先需要安装 jdk
1. 下载JDK
从官网上下载的是jdk-8u121-linux-x64
,下载路径为http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2. 安装第三方源
如果不太想使用tar.gz包,可以安装fedora 23版本。
# dnf config-manager --add-repo=http://repo.fdzh.org/FZUG/FZUG.repo
或
# dnf install http://repo.fdzh.org/FZUG/free/23/x86_64/fzug-release-23-0.1.noarch.rpm
或
# wget http://repo.fdzh.org/FZUG/FZUG.repo -P /etc/yum.repos.d/
在上面的源安装过程可以看到相关pycharm的版本,然后
apt-get install pycharm-community.x86_64 #版本号根据也许时间顺序不一致,自己根据实际情况看。
python的安装:
官方下载地址: www.python.com/ftp/python 自己根据版本下载,然后终端 tar -xvzf package [-C install path]
python 3 支持中文。
python是动态解释型的强类型语言。也就是说在类型确定的时候就无法改变。但是因为是动态的,所以在执行时才确定类型。
变量定义: python 的变量定义和其他语言类似,也是以下划线和大小写符号开头的并且大小写敏感。
variable_name = value;
VARIABLE IS NOT variable
python解释器默认编码是ascii,需要告诉解释器 以何种编码解释,# -*- coding: utf-8 -*-
函数:print() 格式化输出函数。
input()输出并接受参数返回。返回类型一般为str, 如要制定类型可: age = int(input("how old are you?")) #
如果接受的是密码,需要不可见时。可以调用getpass模块的getpass方法。
import getpass
pwd = getpass.getpass("please enter password")
python的while循环:
1.while true: #无限循环,可以通过break跳出循环体
xxx
...
2. while 1<10: #有条件表达式
xxx
...
python的for循环:
for i in range(10): # i 每次循环结束+1.
xxx
...
python的if,if/else,if/elif/else
1 if i < 3:
2 if i < 3:
elif i>3:
else:
3if i < 3:
else:
第一天简单的接触过两个库 sys ,os
sys.argv 是调用脚本接收过来的参数数组
os.system("df -h") 是调用系统命令
备注1: 字符串和变量可通过符号 + 连接。
备注2:python没有结束分号,并且类似循环结构 强制跳格键。