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没有结束分号,并且类似循环结构 强制跳格键。