美文网首页工作生活
Python 简介和入门

Python 简介和入门

作者: Alexander_Zz | 来源:发表于2019-07-01 01:33 被阅读0次

    一、Python 简介

    1.1 下载地址

    https://www.python.org/downloads/

    1.2 简介

    Python 是一种计算机程序设计语言是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
    Python 的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989 年圣诞节期间,在阿姆斯特丹,Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国 20 世纪 70 年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)
    摘自——百度百科

    1.3 Python 排行和使用场景

    TIOBE 6 月编程语言排行榜 更新已发布,排名前三的依然是:Java, C, Python。


    image.png

    Python 可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用 Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、美团等。互联网公司广泛使用 Python 来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。

    1.4 Python 种类

    Jyhton Python 的 Java 实现,Jython会将 Python 代码动态编译成 Java 字节码,然后在 JVM 上运行转换后的程序
    jpython 在执行的时候先经过词法分析,语法分析,然后由解释器编译成字节码,再有 java 编译成机器码,最后再有 CPU 读取机器码执行,而 pypy 则有解释器直接一步到位编译成机器码,因此 pypy 理论上速度更快。
    Cpython Python 的官方版本,使用 C 语言实现,使用最为广泛,CPython 实现会将源文件(py 文件)转换成字节码文件(pyc 文件),然后运行在 Python 虚拟机上。
    IronPython Python 的 C# 实现,并且它将 Python 代码编译成 C# 中间代码(与Jython类似)
    PyPy Python实现的Python
    其他实现方式:RubyPython、Brython、Pyobjc

    1.5 Python 安装
    • Linux 安装
      linux 默认自带 python,但是 centos 和 redhat 的版本普遍比官方版本低很多,因此可以另外安装一个版本使用,步骤如下
    # 先安装 gcc 编译器
    ~]# yum install gcc -y
    
    # 解压 Python 安装包并编译安装,注意 P 大写
    ~]# tar xvf Python-3.6.8.tgz
    ~]# cd Python-3.6.8
    Python-3.6.8]# ./configure
    Python-3.6.8]# make && make install
    
    # 查看版本
    Python-3.6.8]# python36
    Python 3.6.8 (default, Jul  1 2019, 06:56:19) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    
    # 测试 Python
    Python-3.6.8]# python3
    Python 3.6.8 (default, Jul  1 2019, 06:56:19) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> print ('hello world')
    hello world
    

    二、Python 编码

    2.1 ASCII

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


    image.png
    2.2 Unicode

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

    2.3 UTF-8

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

    2.4 编码间的转换

    将 utf-8 或 gbk 格式的转换为 unicode,将 unicode 转换为其他编码称为 encode
    decode 的作用是将其他编码的字符串转换成 unicode 编码
    encode 的作用是将 unicode 编码转换成其他编码的字符串


    image.png

    三、注释

    3.1 单行注释
    # 注释内容
    print ('hello') # 第一个注释
    
    单行注释.png
    3.2 夸多行注释

    ''' 注释内容 ''' 或 """ 注释内容 """,在 Python 中 '单引号' 和 "双引号" 没有区别

    """第一
    行注释"""
    print ('hello')
    
    多行注释.png

    四、pyc 文件

    4.1 pyc 文件

    执行 Python 代码时,如果导入了其他的模块即其他的 xx.py 文件,那么,执行过程中会自动生成一个与其同名的和 py 文件同名的 .pyc 文件,该文件就是 Python 解释器编译之后产生的字节码,代码经过编译可以产生字节码;字节码通过反编译也可以得到代码,即使删除该 py 文件之后 python 程序依然可以运行,因为 python 或优先读取 pyc 文件,但是假如手动修改了 pyc 文件,则 python 会重新读取 py 文件并重新生成新的 pyc 文件,因为 python 会内部判断,因此不需要也不能手动更改 pyc 文件


    五、Python 变量

    变量名称代表了内存中的某一段空间,空间里面保存的是变量的对象,变量可以是任何数值,但是变量的名称只能是数字、大小写字母和下划线,而且变量名的第一个字符不能是数字开头的,变量名不要使用和系统已经使用的特殊关键字
    不能作为的名字的关键字如下:
    [ 'and' , 'as' , 'assert' , 'break' , 'class' , 'continue' , 'def' , 'del' , 'elif' , 'else' , 'except' , 'exec' , 'finally' , 'for' , 'from' , 'global' , 'if' , 'import' , 'in' , 'is' , 'lambda' , 'not' , 'or' , 'pass' , 'print' , 'raise' , 'return' , 'try' , 'while' , 'with' , 'yield' ]

    5.1 声明变量

    name = "rookie"
    print (name)

    5.2 变量赋值

    a = "jerry"
    b = "tom"
    其结果是在内存开启了两个地址空间,a 和 b 分别表示这两个地址空间的内容

    image.png
    a = "jerry"
    b = a
    会开启一个地址空间,两个变量名将指向同一个内存地址进行调用
    image.png

    六、获取用户输入

    6.1 取值

    使用 raw_input ( python 2 版本 ) 的方法获取用户输入的字符串信息给一个变量,然后把变量打印出来,还有另外一种方法 input 只能获取数值

    #/usr/bin/env  python
    # -*- coding:utf-8 -*-
    name = raw_input("Please input yout name:")  # 在 python 2 中 raw_input 获取的为字串,inpu 获取为数值
    print "your name is:",name
    

    在 python 3 中,没有了 raw_input,只有 input 方法,默然获取到的为字串,如果要获取数值,可以加上

    int(input("请输入你想要输入的数字或内容:"))
    
    6.2 输入密码

    如果想要不可见,需要利用getpass 模块中的 getpass方法

    #!/usr/local/python3
    #
    import getpass
    password = getpass.getpass('请输入你的密码')
    
    print (password)
    
    注意:密码是隐藏的,而且运行时连输入密码的提示框都没有,可以在调试模式下看到详细内容
    Warning: Password input may be echoed.
    请输入你的密码asd
    asd
    

    七、Python 流程控制和缩进

    7.1 if else 语句流程控制

    进行判断用户输入,非 A 即 B,python 对缩进要求很严格,必须严格按照 4 个空格的方式进行排序,而且 if 下一级的代码必须与 if 保持 4 个空格换行间距,即父代码要与子代码严格区分,如果缩进不符合要求会报缩进错误: IndentationError: unindent does not match any outer indentation level

    #!/usr/local/bin/python3
    #
    import getpass
    name = input('请输入你的用户名: ')
    passwd = getpass.getpass('请输入你的密码: ')
    if name == 'rookie' and passwd == '123asd':
        print ('欢迎,rookie')
    else:
        print ('你的用户名和密码错误')
    
    7.2 if elif elif elif ... else

    有N个判断条件,一次匹配一个条件

    #!/usr/local/python3
    #
    name = input('请输入你的用户名: ')
    if name == 'rookie':
        print ('rookie')
    elif name == 'jerry':
        print ('jerry')
    elif name == 'tom':
        print ('tom')
    else:
        print ('用户名不正确')
    

    相关文章

      网友评论

        本文标题:Python 简介和入门

        本文链接:https://www.haomeiwen.com/subject/jujicctx.html