zoukankan      html  css  js  c++  java
  • python之初体验

    1. Python简介:

     Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

    Python是纯粹的自由软件源代码解释器CPython遵循 GPL(GNU General Public License)协议[1]  。
    Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
    Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[2]  有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为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 ...

    小结

    Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

    目前Python主要应用领域:

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

    2. Python环境

    安装python

    windows:

    1、下载安装包
        https://www.python.org/downloads/
    2、安装
        安装路径:自己定义,默认C盘
    3、配置环境变量
        【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
        如:原来的值;C:python3,切记前面有分号
    

     Linux:

    无需安装,原装Python环境
      
    ps:如果自带2.6,请更新至2.7或者3.5,根据自身要求,Ubuntu上的Python更新快,centos上的Python老
    

    pycharm小技巧:

    1 在所有行的开头加上#号:
    2 选中所有要添加注释的行,Ctrl + ?

    3.Python入门

    编码

    默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

    # -*- coding: cp-1252 -*-
    

    行与缩进

    python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。

    缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

    if True:
    	print ("True")
    else:
    	print ("False")
    

     如果缩进数的空格数不一致,会导致运行错误,报错关键词为IndentationError。

    多行语句

    Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:

    total = item_one + 
            item_two + 
            item_three
    

     在  [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:

    total = ['item_one', 'item_two', 'item_three',
            'item_four', 'item_five']
    

    空行

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

    空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

    记住:空行也是程序代码的一部分。

    多个语句构成代码组

    缩进相同的一组语句构成一个代码块,我们称之代码组。

    像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

    我们将首行及后面的代码组称为一个子句(clause)。

    如下实例:

    if expression : 
       suite
    elif expression : 
       suite 
    else : 
       suite
    

    Python3 解释器

    Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在 /usr/local/python3 目录中。

    安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 。

    $ PATH=$PATH:/usr/local/python3/bin/python3    # 设置环境变量
    $ python3 --version
    Python 3.5.2
    

     在Window系统下你可以通过以下命令来设置Python的环境变量,假设你的Python安装在 C:Python35 下:

    set path=%path%;C:python35
    

    在 /home/dev/ 目录下创建 hello.py 文件,内容如下:

    1
    print "hello,world"

    执行 hello.py 文件,即: python /home/dev/hello.py

     1.内容编码

    python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多

    UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

    所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

    报错:ascii码无法表示中文

    1
    2
    3
    #!/usr/bin/env python
      
    print "你好,世界"

    改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

    1
    2
    3
    4
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
      
    print "你好,世界"

    2.注释

    Python3 注释

    确保对模块, 函数, 方法和行内注释使用正确的风格

    Python中的注释有单行注释和多行注释:

    Python中单行注释以#开头,例如::

    # 这是一个注释
    print("Hello, World!") 
    

    多行注释用三个单引号(''')或者三个双引号(""")将注释括起来,例如:

    1、单引号(''')

    #!/usr/bin/python3 
    '''
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号 
    这是多行注释,用三个单引号
    '''
    print("Hello, World!") 
    

     2、双引号(""")

    #!/usr/bin/python3 
    """
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号 
    这是多行注释,用三个单引号
    """
    print("Hello, World!") 
    

     总结:

    单行注释:# 被注释内容
    多行注释:""" 被注释内容 """ or'''被注释内容'''
    ps:"""多行注释"""即可以代表一个多行注释,也可以代表一个段落

    例子:

    duanluo = """My name is John,
    My age is 18,
    My address is Beijing.
    """
    print(duanluo)
    

     Python的格式化输出:

    name = input("name:")
    age = input("age:")
    job = input("job")
    hobby = input("hobby:")
    
    """
    print("My name is,",name,"I am",age,"years old,
    ",
    "My job is",job,"My hobby is",hobby)
    """
    info = """
    ---------info of %s-------------
    Name:%s
    Age:%d
    Job:%s
    Hobby:%s
    -------------end----------------
    """%(name,name,age,job,hobby)
    print(info)
    

    其中%s表示格式化一个对象为字符
    其中%d表示为整数

    3.变量

    变量定义:一个在内存存储数据的容器
     
    变量的意义:因为它保存的程序执行的中间结果或者状态,以供后面的代码进行调用
    前面定义了变量,那么后面就一定要进行调用,否则定义的变量就没有意义
     
    变量的主要作用就是存储和标记
     
    引用变量是用来存储信息和操作在一个计算机程序。他们还提供一种标签数据与一个描述性的名称,所以我们的程序可以被读者和我们自己更清楚地理解。它有助于认为变量保存信息的容器。他们的唯一目的是标签和数据存储在内存中。这些数据可以使用您的程序。

    变量声明:

    输入字符串的时候一定要告诉python,输入的是字符串,加"",为了区分字符串和变量,要用逗号(,)区分 #数字不需要加引号(""),否则定义就变成字符串了 #用print引用变量时不能加引号(""),否则定义就变成字符串了,而不是输出变量的结果了

    变量规则:
    1 NameError:变量名没定义 
    2 变量一定是先定义后调用 
    3 变量名只能是字母、数字、下划线,不能以数字开头的组合
    4 变量的名字一定要有描述性的意义,否则时间长了,自己和他人都看不懂意义
    5 变量的名字的常用方式 
    6 age_of_John = 18 #官方推荐用法 
    7 ageOfJohn = 18 #驼峰 AGE_OF_JOHN = 18 
    8 常量一般是全大写(python没有限制,但是为了区别,一般不要用全大写) 

     小例子(进度条):

    import sys,time
    for i in range(20):
        sys.stdout.write("#")
        sys.stdout.flush()
        time.sleep(0.1)
    

    python报错:

    1 IndentationError:expected an indented block 缩进错误
    2 同一级别的代码缩进必须保持一致
    自己不努力,谁也给不了自己想要的生活
  • 相关阅读:
    JAVA常用知识总结(十一)——数据库(一)
    JAVA常用知识总结(十)——Maven
    JAVA常用知识总结(九)——线程
    JAVA常用知识总结(八)——计算机网络
    JAVA常用知识总结(七)——Spring
    Spring Cloud Alibaba教程:Nacos
    OpenCV入门(2)- Java第一个程序
    OpenCV入门(1)- 简介
    Elastic Job入门(1)
    Elastic Job入门(3)
  • 原文地址:https://www.cnblogs.com/zhangyux/p/5907431.html
Copyright © 2011-2022 走看看