zoukankan      html  css  js  c++  java
  • Python基础知识

    1. python介绍

      python语言是由Guide van Rossum在1989年开发,并最终于1991年初发表。python是一种动态解释型的编程语言,支持面向对象、函数式编程。python可以在windows、unix等多个操作系统上使用,python的简洁性、易用性使得开发过程编的简练,特别适用于快速应用开发。

    2. python特色

    • 面向对象

      python是一种面向对象的语言,它的类模块支持多态、操作符重载和多重继承等高级概念,并且以python特有的简洁的语法和类型,OOP十分易于使用。

    • 内置的数据结构

      python提供了一些内置的数据结构,这些数据结构实现了类似Java中集合类的功能。python的数据结构包括元组、列表、字典、集合等。内置数据结构的出现简化了程序的设计。

    • 简单性

      python语言的关键字比较少,它没有分号、begin、end等标记,代码块使用空格或制表键缩进的方式来分隔。python的代码简洁、短小、易于阅读。python简化了循环语句,即使程序结构很复杂也能快速读懂。

    • 健壮性

      python提供了异常处理机制,能捕获程序的异常情况。此外python的堆栈跟踪对象能够指出程序出错的位置和出错的原因。异常机制能够避免不安全退出的情况,同时能帮助程序员调试程序。

    • 跨平台性

      python会先编译为与平台相关的二进制代码,然后再解释执行。这种方式和Java类似,但python的执行速度提高了。python程序可以运行在windows、unix、linux等不同操作系统上。

    • 可扩展性

      python是采用c开发的语言,因此可以使用c扩展python,可以给python添加新的模块、新的类。同时python可以嵌入c、c++语言开发的项目中,使程序具备语言的特性。

    • 动态性

      python与javascript、php、perl等语言类似,它不需要另外声明变量,直接赋值即可创建一个新的变量。

    • 强类型语言

      python的变量创建后会对应一种类型,它可根据赋值表达式的内容决定变量的类型。python在内部建立了管理这些变量的机制,不同类型的变量需要类型转换。

    • 应用广泛

      python语言应用于数据库、网络、图形图像、数学计算、web开发、操作系统扩展等领域,有许多第三方库支持python。例如,PIL用于图像处理、NumPy库用于数学计算、WxPython库用于GUI程序设计、Django框架用于web开发等。

     

    3. python文件类型

    • 源代码

      python源代码的扩展名是以.py结尾,可以在控制台下运行。python语言编写的程序不需要编译成二进制代码,可以直接运行源代码。pyw是windows下开发图形用户接口的源文件。py和pyc文件都可以使用文本工具打开并修改内容。

    • 字节代码

      python源文件编译后生成pyc后缀的文件,pyc是编译过的字节文件,这种文件不能使用文本编辑工具打开或修改,pyc文件是与平台无关的,py文件直接运行后即可得到pyc类型的文件,或通过脚本生成该类型的文件。

    • 优化代码

      扩展名为pyo的文件是优化过的源文件,pyo类型的文件需要用命令行工具生成。pyo文件不能使用文本编辑工具打开或修改。

    #脚本方式把hello.py编译为hello.pyc
    import py_compile
    py_compile.compile("hello.py")
    
    #生成优化代码
    #a. cd进入hello.py所在目录
    #b. 使用以下命令生成优化代码
    python -O -m py_compile hello.py
    #"-O"表示生成优化代码。
    #"-m"表示把导入的py_compile模块作为脚本运行。
    #编译hello.pyo需要调用py_compile模块的compile()方法。
    #然后就可以在该目录中生成一个名为hello.pyo的文件。
    

     

    4. python程序运行过程

      当python运行脚本时,在代码开始进行处理之前,python还会执行一些步骤,先是将源代码编译成所谓的“字节码”,之后将其转发到所谓的“虚拟机”中。

    • 字节码编译

      当程序执行时,python内部(对大多数用户是完全隐藏的)会先将源代码(.py结尾的文件)编译成字节码形式。如果python进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以.pyc为扩展名的文件。python这样保存字节码是作为一种启动速度的优化。下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,python将会加载.pyc文件并跳过编译这个步骤。当python必须重新编译时,它会自动检查源文件和字节码文件的时间戳:如果你又保存了源代码,下次程序运行时,字节码将自动重新创建。
      如果python无法在机器上写入字节码,程序仍然可以运行:字节码将会在内存中生成并在程序结束时简单地丢弃。

    • python虚拟机(PVM)

      一旦程序编译成字节码(或字节码已从存在从.pyc文件中载入),之后的字节码发送到python虚拟机上执行。PVM就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。PVM是python的运行引擎,它时长表现为python系统的一部分,并且它是实际运行脚本的组件。从技术上讲,它才是所谓“python解释器”的最后一步。

     

    5. python命名规范

    • 变量名、包名、模块名称通常采用小写,可使用下划线。
    • 类名首字母采用大写,对象名采用小写。类的属性和方法名以对象作为前缀。类的私有变量、私有方法以两个下划线"__"作为前缀。
    • 函数名通常采用小写,并用下划线或单词首字母大写增加名称的可读性,导入的函数以模块名作前缀。
       1 class Student:                      #类名大写
       2     __name__ = ""                   #私有实例变量前必须有两个下划线
       3     def __init__(self,name):
       4         self.__name__ = name        #self相当于java中的this
       5     def getName(self):              #方法名首字母小写,其后每个单词首字母大写
       6         return self.__name__
       7 
       8 if __name__ == "__main__":
       9     student = Student("Andy")       #对象名小写
      10     print(student.getName())
      命名举例

     

    6. 代码的缩进与冒号

      代码缩进是python的一种语法,python没有采用{}、begin...end...等分隔代码块,而是使用冒号和代码缩进区分代码之间的层次。python对代码缩进要求非常严格,如果程序中不采用代码缩进的编码风格,将跑出一个IndentationError。python建议最好使用4个空格缩进,即制表符键缩进。

      另外python也支持分号";"作为一个语句的结束标识,往往都是省略不写即可。

     

    7. 注释

    单行注释:#
    多行注释:''' ''' 或者""" """

    中文注释:需要在代码中使用中文注释,必须在python文件的最前面加上如下注释

    # -*- coding: UTF-8 -*-

    python3中默认编码是Unicode,所以不需要在每个python文件中再加上以上注释,但是在python2中若使用中文必须加上。
    扩平台注释:如果需要使用python程序运行在*nix系统中,最好在python文件的最前面加上如下注释。

    #!/usr/bin/python
    或者
    #!/usr/bin/env python   #建议使用这一种方式
    

     

    8. 变量和常量

    • 变量

      变量是计算机内存中的一块区域,变量可以存储任何值,而且值可以改变。常量是一块只读的内存区域,常量一旦初始化就不能修改。

    • 变量的命名

      变量由字母、数字或下划线组成。变量的第1个字符不能是数字。

    • 变量的赋值

      python的变量不需要声明,变量的赋值操作即是变量声明和定义的过程。每个变量在内存中创建,都包括变量的标识、名称和数据这些信息。如x=1。查看变量内存值print(id(x))。

    • 局部变量

      局部变量是只能在函数或代码段内使用的变量。函数或代码段一旦结束,局部变量的生命周期也就结束。局部变量的作用范围只在其被创建的函数内有效。python创建的变量就是一个对象,python会管理变量的生命周期,python对变量的回收采用的是垃圾回收机制。

    • 全局变量

      全局变量是能够被不同的函数、类、或文件共享的变量,在函数之外定义的变量都可以成为全局变量。全局变量可以被文件内部的任何函数和外部文件访问。全局变量通常在文件的开始处定义。
      应该尽量避免使用全局变量,因为不同的模块都可以自由地访问全局变量,可能会导致全局变量的不可预知性。
      全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量。同样,全局变量降低了代码的可读性,阅读者可能并不知道调用的某个变量是全局变量。

    • 常量

      常量是指一旦初始化后就不能改变的变量。例如,数字5,字符串“abc”都是常量。java使用static和final关键字指定常量,而python并没有提供常量的关键字。python是一门功能强大的语言,可以自己定义一个常量类来实现常量的功能。



     

     

     

     

     

  • 相关阅读:
    MySQL 批量删除相同前缀的表
    MySQL 命令登录
    MySQL 密码修改
    谷歌浏览器开发者工具截图
    VIM命令图解
    基于环境变量为多用户配置不同的JDK(win)
    Reddit: 只有独生子女才明白的事
    JSONObject与null
    SpringFramework中重定向
    XML修改节点值
  • 原文地址:https://www.cnblogs.com/jmwm/p/9640963.html
Copyright © 2011-2022 走看看