乍认识python

1.Hello World程序

     
长期以来,编程界都发出一个圣神的仪式,现在自哉团结加冕,那便是于屏幕及显得信息“hello
world!”程序,学习python的首先蹩脚就是是如此一行代码。

>>> print("hello world!")
hello world!

当编辑器中运作hello_world.py;

#!/bin/python

print("hello world!")

[root@localhost /]# python3 /dj/hello_world.py 
hello world!

2.Python简介

  python的创始人为吉多·范罗苏姆(Guido van
Rossum)。1989年的圣诞节之间,吉多·范罗苏姆为以阿姆斯特丹打发时光,决心开发一个初的剧本解释程序,作为ABC语言的均等栽持续。
 

  Python可以以被广大天地,如:数据解析、组件集成、网络服务、图像处理、数值计算和科学计算等居多天地。目前正式几乎所有大中型互联网商家都在动用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车的寒、美团等。

时下Python主要应用领域:

  • 云计算: 云计算最恼火的言语, 典型以OpenStack
  • WEB开发: 众多妙不可言的WEB框架,众多巨型网站都为Python开发,Youtube,
    Dropbox, 豆瓣。。。, 典型WEB框架来Django
  • 是运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought
    librarys,pandas
  • 系运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在经济工程领域,Python不但以为此,且用之无限多,而且根本逐渐提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都蛮牛逼,生产效率远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

Python在有局的以: 

 

  • 谷歌:Google App Engine 、code.google.com 、Google earth
    、谷歌爬虫、Google广告等类都以大方运Python开发
  • CIA: 美国中情局网站就是是因此Python开发之
  • NASA: 美国宇航局(NASA)大量应用Python进行多少解析及运算
  • YouTube:世界上顶要命的视频网站YouTube就是用Python开发的
  • Dropbox:美国尽充分之在线云存储网站,全部据此Python实现,每天网站拍卖10亿独文件之上传和下载
  • Instagram:美国顶深之图纸分享社交网站,每天过3千万摆设像为分享,全部所以python开发
  • Facebook:大量之底蕴库均经Python实现之
  • Redhat:
    世界上最为盛行的Linux发行本中之yum包管理工具就是用python开发之
  • 豆类: 公司几乎所有的政工全是经过Python开发之
  • 知乎: 国内最为老之问答社区,通过Python开发(国外Quora)
  • 春雨医生:国内有名的在线医疗网站是为此Python开发的
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝
    、土豆、新浪、果壳等企业都当以Python完成各种各样的职责。 

Python与其他语言相较优势有哪?

C 和 Python、Java、C#等

    C语言: 代码编译得到 机器码
,机器码在微机上直接实施,每一样长指令控制CPU工作

另外语言: 代码编译得到 字节码
,虚拟机执行字节码并更换成为机器码再晚当电脑上执行

Python和C Python这门语言是出于C开发要来

  对于以:Python的类库齐全而用简单,如果一旦贯彻均等的作用,Python
10行代码可以化解,C可能就是需100推行还是更多.
  对于速:Python的运转速度相较与C,绝逼是徐了

Python 和 Java、C#等

  对于利用:Linux原装Python,其他语言没有;以上几乎流派语言都来非常丰富的类库支持
  对于速:Python在快高达可能有些显逊色

据此,Python和另语言没有啊本质区别,其他区别在于:擅长某领域、人才丰富、先称为主。

 

Python的种类

  • Cpython
       
    Python的官版,使用C语言实现,使用最普遍,CPython实现会晤拿自文件(py文件)转换成为字节码文件(pyc文件),然后运行于Python虚拟机上。
  • Jyhton
       
    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后于JVM上运行。
  • IronPython
       
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊)
        Python实现之Python,将Python的许节码字节码再编译成机器码。
  • RubyPython、Brython …

 3.认识python中之变量和简便的数据类型

     变量的命名规则:1.变量称只能分包字母数字下划线,且非可知盖数字开头;

                               
2.变量叫做受到不克包含空格,一般我们采用下划线来分隔其中的单词;

                               
3.耿耿于怀不可将python中之函数名及重大字用作变量称(python保留用于特殊用途的单词);

                                4.变量名应遵从简短但拥有描述性;

                                5.慎据此小写l与特别写O容易吃误以为是1和0。

     变量的使用办法:

message = "hello python world!"
_age = 18
print(message)
print(_age)

    注:每个变量都存储一个值(与变量相关联的消息)。

   
字符串:字符串就是均等雨后春笋字符。在python中,用引号括起来的且是字符串,其中的引号可以是单引号也得是夹引号。

print("this is a string")
print('this is also a string')

    字符串的拼凑:

    我们可利用加号来

print('hello\t'+'world')

    在python中,我们可用方式对数码实施操作。注释用井号标识。

print('\nhello world\r'.strip())#去除空白
print('hello world'.title())#首字母大写
print('hello world'.upper())#全部大写
print('hello world'.lower())#全部小写

4.在python中数据类型十分要,错误的数据类型可能导致程序运行错误

    如下程序:

#coding=utf-8
age = 24
i = 1
while i <= 3:
    guss =  raw_input("you guss:") 
    if guss > age:
        print("so big")
    elif guss < age:
        print("so small")
    else:
        print("you are wright")
        break
    i = i+1
    if i == 4:
        ask = raw_input("are you ok?y/n")
        if ask == 'y':
            i = 1
        else:
            exit()
    continue
else:
     exit()

   
这是一个猜年龄的略序,这里存在一个问题,我们输入的guss实际上是一个字符串类型,我们将她与整型进行较,这起逻辑上是谬误的,python解释器从语法上判断是无错的,但是及时的确是一个逻辑错误。所以我们用对guss类型进行改正。

guss = int( raw_input("you guss:") )#将guss改为整型

 5.pyc是什么

  Python是一样门户解释型语言?

 

  我初学Python时,听到的关于Python的首先词话就是,Python是相同门户解释性语言,我哪怕如此直白相信下去,直到发现了*.pyc文件之在。如果是解释型语言,那么生成的*.pyc文件是啊呢?c应该是compiled的缩写才对呀!

  为了防止其他学习Python的人吧被及时词话误解,那么我们虽以和平遭遇来正本清源下这个题材,并且将一些基础概念叫理清。

  

   解释型语言及编译型语言 

  计算机是不克辨识高级语言的,所以当我们运行一个尖端语言程序的时节,就用一个“翻译机”来致力把高档语言转变成计算机能念懂的机器语言的历程。这个过程分成两像样,第一栽是编译,第二种是分解。

  编译型语言在程序执行之前,先会经过编译器对程序执行一个编译的长河,把程序转变成为机器语言。运行时就不需要翻译,而直接执行就足以了。最特异的事例就是是C语言。

  解释型语言就是不曾是编译的过程,而是以程序运行的时刻,通过解释器对先后逐行作出解释,然后径直运行,最特异的例证是Ruby。

  通过上述之事例,我们好来总一下解释型语言与编译型语言的得失,因为编译型语言在程序运行之前就是曾经对先后做出了“翻译”,所以当运作时就丢掉掉了“翻译”的历程,所以效率比较强。但是我们啊非可知相提并论,一些解释型语言也足以通过解释器的优化来当针对先后做出翻译时对全体程序做出优化,从而以效率上跨编译型语言。

  此外,随着Java等根据虚拟机的语言的起,我们而非克将语言纯粹地分为解释型和编译型这半栽。

  用Java来比喻,Java首先是经编译器编译成字节码文件,然后以运作时通过解释器给说成机器文件。所以我们说Java是平栽先编译后说的语言。

 

   Python到底是啊 

  其实Python和Java/C#一致,也是一律派基于虚拟机的言语,我们事先来打表面上大概地问询一下Python程序的运转过程吧。

  当我们以指令执行遭输入python
hello.py时,其实是激活了Python的“解释器”,告诉“解释器”:你一旦起来工作了。可是在“解释”之前,其实执行之率先码工作暨Java一样,是编译。

  熟悉Java的同班可以想转手我们以指令行中如何履一个Java的次序:

  javac hello.java

  java hello

 

 

  只是我们在于是Eclipse之类的IDE时,将这有限统被融合化了同等管辖而已。其实Python也一致,当我们实施python
hello.py时,他也如出一辙实行了这样一个进程,所以我们该这样来讲述Python,Python是平家先编译后说的语言。

   简述Python的周转过程

  于游说此题材之前,我们先行来说两只概念,PyCodeObject和pyc文件。

  我们以硬盘上看的pyc自然不用多说,而实际上PyCodeObject则是Python编译器真正编译成的结果。我们事先简单明了就好了,继续朝着下看。

  当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则拿PyCodeObject写回到pyc文件被。

  当python程序第二涂鸦运行时,首先程序会以硬盘中查找pyc文件,如果找到,则直载入,否则就算还上面的经过。

  所以我们应当这样来稳定PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一律种植持久化保存方法。

   pyc文件在py2和py3的区别

  python 字节码文件
  python3 会创造一个__pycache__目录,存放
  python2 当地面转移一个pyc文件

  手动执行不能够很成pyc文件,只生欠py文件给外py文件调用时,才见面变动而且执行前会比较py和pyc
文件之工夫戳,如果未均等则再编译。

  python的源码进行编译成pyc形式之配节码,然后这些字节码在python虚拟机中开展一个巡回,其实质就是是迭代整个pyc文件的许节码,所以python的虚拟机实际上做的哪怕是python解释器的工作。

  注:这里不可不使优先举行声明,python因为那实质也动态语言,这意味着他蛮为难直接被编译成机器码。

  附加:python安装

  1.安装包下载

  2.装:默认安装路径:C:\python27

  3.布局环境变量:【右键计算机】``-``-``》【属性】``-``-``》【高级系统设置】``-``-``》【高级】``-``-``》【环境变量】``-``-``》【在第二个内容框中找到 变量名为Path 的一行,双击】 ``-``-``> 【Python安装目录追加到变值值中,用 ; 分割】

  如:原来的价;C:\python27,切记前面来分公司