python day 1--python初始
笔者:QQ: 360212316
Python初识
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。
python的应用领域
1、云计算: 云计算最火的语言, 典型应用OpenStack
2、WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
3、科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
4、系统运维: 运维人员必备语言
5、金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
6、图形GUI: PyQT, WxPython,TkInter
python的优点
1、优雅、明确、简单
2、开发效率高:python有非常强大的第三方库
3、高级语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4、可移植性:Python已经被移植在许多平台上
5、可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
6、可嵌入性:可以把python嵌入c/c++程序,从而向你的程序用户土工脚本
python的缺点
1、运行速度慢:相对于C程序来说
2、代码不能加密
3、线程不能利用多CPU问题
python解释器
cpython:
当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python
就是启动CPython解释器。
ipython:
Python是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
pypy:
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
jython:
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython:
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
小结:
小结:python的解释器虽然很多,但使用最广泛的还是Cpython,如果要和java、。net平台交互,最好的办法是通过网络调用,而不是使用jython和IronPython
编译型语言和解释型语言
编译型语言:
运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。
编译型语言有一下几种:
C语言、C++
编译型语言的优点:
运行速度快,代码效率高,编译后的程序不可修改,保密性较好
编译型语言的缺点:
代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行
解释型语言:
解释型语言就类似与人类的翻译官似的,你说一句中文,然后翻译官现场翻译,你说一句,翻译一句
python、java、php、ruby
解释型语言的优点:
可移植性较好,只要有解释环境,可在不同的操作系统上运行
解释型语言缺点
运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程
python程序安装:
windows安装:
1
、下载安装包
https:
/
/
www.python.org
/
downloads
/
2
、安装
默认安装路径:C:\python27
3版本安装可以勾选自动配置环境变量,不需要人工配制
3
、配置环境变量
【右键计算机】
-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
linux安装:
无需安装,原装Python环境
centos默认安装的2.6.6
ubuntu默认安装2.6版本和3版本
python的第一个程序
print("Hello World!")
python变量定义:
- 变量能以数字开头,数字可以在中间
- 变量首字母不大写
- 变量不能使用关键字,例如python内置的print、input
python变量定义:
- 变量能以数字开头,数字可以在中间
- 变量首字母不大写
- 变量不能使用关键字,例如python内置的print、input
python中的常量:
常量的定义方法和变量的定义方法一样,只是变量名全部大写
python的注释:
以井号开头表示注释一行
三个单引号和三个双引号表示注释一段
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy) '
''
单行注释:
#print("hello world")
多行注释也可以使用这种方法
#print("hello world")#print("hello world")
#print("hello world")#print("hello world")
python中的流程控制
if判断流程:
if
条件: print() else: print()例子:
多条件if判断
if
条件: print() elif 条件: print() else: print()
例子:
guess_age
= int(input("guess_age:")) if guess_age == age_of_oldboy: print("you guess it ..") elif guess_age > age_of_oldboy: print("think small...") else: print("think big....")
Python格式化输出
# "my job is ",job,"my hobby is",hobby #) #方法1: info = """
---------info name %s------
Name:%s
Age :%s
job :%s
hobby:%s
-------------end-----------
"""%(name,name,age,job,hobby) print(info) #方法2: info2 = """
---------info name {_name}------
Name:{_name}
Age :{_age}
job :{_job}
hobby:{_hobby}
-------------end-----------
""".format( _name=name, _age=age, _job=job, _hobby=hobby ) print(info2) #方法3 info3 = """
---------info name {0}------ Name:{0} Age :{1} job :{2} hobby:{3} -------------end----------- """.format( name,age,job,hobby) print(info3)