python入门

2018-06-18 01:56:11来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Python简介

  Python是一种面向对象的解释型编程语言,创始人为荷兰人吉多·范罗苏姆(Guido van Rossum),发明于1989年。1989年的圣诞节期间,Guido为打发圣诞节的无聊,开始用C语言编写能够解释Python语言语法的解释器。而Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

  Python的设计哲学是“优雅”、“明确”、“简单”。Python的简单让程序员专注于解决问题,而不是花大把时间精力理解语言本身。

  Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

Python的特点

  • 高级
  • 面向对象
  • 可升级
  • 可扩展    ##Python有用C语言、Java、C#等编写的解释器,而用不同语言编写的Python解释器又可以用相应语言的扩展。
  • 可移植    ##Python是用C语言编写的,而C语言具有可移植性,使得Python几乎可以在任何带有ANSIC编译器的平台上。尽管针对不同平台有特有的开发模块,但是在任何一个平台上用Python开发的通用软件都可以稍微改动或原封不动的时候就运行在其他平台上。这种可移植性不仅适用于不同架构,也适用于不同的操作系统。
  • 简单易学
  • 易理解
  • 易维护
  • 健壮   ##针对错误,Python提供了“安全合理”的退出机制。一旦程序因为错误而崩溃,解释程序就会转出一个“堆栈跟踪”,在那里你可以找到全部信息。
  • 高效的快速原型开发工具   ##Python工程方面就有优越的简洁性,而且Python有许多面向其他系统的接口,完全能用Python开发整个系统的原型。
  • 内存管理器  ## Python的内存管理是由解释器负责的,这让Python程序员能将精力更集中于开发,减少开发过程中出现错误的机率,又缩短了开发周期。
  • 解释性和(字节)编译性   ##Python是解释型语言,意味着开发中没有编译环节。一般来说,纯粹的解释型语言通常比编译型语言慢,但是类似于Java,Python实际上是字节编译,其结果是生成一种近似机器语言的中间形式。这在改善了Python的性能的同时又保持了Python作为解释型语言的优势。

运行python程序的方式可分为:

  (1)交互式(能快速得到结果,但是无法保存文件)

C:\WINDOWS\system32>python3
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world

  (2)python程序路径

   

Python解释器

  • CPython:CPython是使用最广且被的Python解释器。CPython的一个局限就是每个Python函数调用都会产生一个C调用。这意味着同时产生的函数调用是有限制的,因此Python难以实现用户级的线程库和复杂递归应用,一旦超过这个调用限制就会产生程序崩溃。Stackless能帮助开发者突破这个限制,就是一个C栈帧可以拥有任意数量的Python线帧。而Stackless需要对CPython解释器做出重大修改,所以它几乎是一个独立分支。另一个Greenlets的项目也支持微线程,它是一个标准的C扩展,不需要对CPython解释器做出任何修改。
  • IPython:基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
  • PyPy:目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。
  • Jython:用Java进行编写的Python解释器,运行在Java平台上,可以直接把Python代码编译成Java字节码执行。
    #Jython的优势有哪些呢?
    #***只要有Java虚拟机,就能运行Jython
    #***拥有访问Java包和类库的能力
    #***为Java开发环境提供了脚本引擎
    #***能够很容易的测试Java类库
    #***提供了访问Java原生异常处理的能力
    #***继承了JavaBeans特性和内省能力
    #***有助于Java和Python之间的相互开发、促进
    #***GUI开发人员可以访问Java的AWT/Swing库
    #***利用Java原生垃圾收集器
  • IronPython:IronPython用C#语言完成,和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。IronPython的扩展也可以由C#或VB.NET语言编写。

 

Python解释器启动:

  (1) 先启动python解释器

  (2) 将Python程序文件的内容读入内存

  (3)解释执行

Python解释器在交互模式中你会看到Python的主提示符(>>>)和次提示符(...)。主提示符是告诉你它在等待你输入语句,次提示符是等你输入语句的其它部分。

Python命令的主要方式就是语句和表达式 (函数、算数表达式等)。语句使用关键字组成命令,可以有输出也可以没有输出。表达式是没有关键字。表达式可以用算数表达式,也可以用括号调用函数。它们可以接受用户输入,有些会输出,有些没有输出。在Python中未制定返回值的函数会自动返回None,等价于NULL。

输入输出

输出:

在交互解释器中显示变量的值。

#!/usr/bin/env python
#coding:utf-8

print('hello world')
#输出字符串‘hello world’

print('hello','world')
#输出的也是‘hello world’,这里能连接成一串,遇到逗号会输出一个空格

输入:input()接收用户输入,把用户输入的内容转成字符串

#!/usr/bin/env python
#coding:utf-8

name=input('please input your name:')
password=input('please input your password:')
print(type(password))#password是'str'类型

变量

       变量是一种可以反应状态变化的机制。变量的三个特征:id、type、value。变量名是对value的引用。

自动的垃圾回收机制是python的特性,而垃圾的定义是value身上的引用计数为0。自动回收机制并不是随时回收,而是定期回收。

变量的命名规范:

  1.不要用关键字

  2.只能是字母、数字、下划线的任意组合

  3.第一个字符不能是数字

  4.建议采用下划线的定义方式,不推荐使用驼峰体

  5.尽量不要用中文或拼音命名

  6.变量名不宜过长、词不达意

变量的赋值:

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=1
>>> y=x
>>> print(x,y)
1 1
>>> x=2
>>> print(x,y)
2 1

 

常量

常量是指状态不变的量,或在运行的程序中不会改变的量。在python中没有专门的语法代表常量,只有约定俗成用全大写的变量名代表常量。

 

注释(增加代码的可读性)

原则:

1.在必要部分添加注释,就是在重要或不好理解的部分添加注释能帮助程序员自己或其他程序员理解;

2.注释可以用中文或英语,不要用一些不好理解的符号。

#!/usr/bin/env python
#coding:utf-8

#单行注释

"""
多行注释
"""

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Django入门开发之数据模型01

下一篇:Python 学习笔记(十二)Python文件和迭代(二)