zoukankan      html  css  js  c++  java
  • 第二章 python入门

    2.1 环境的安装

    ​ 首先,在官网下载py2与py3,2,3版本有很多不兼容所有会存在两个版本共存的问题。目前,mac、ubuntu等一些系统已经内置了python2版本。

    ​ 为了开发需要,我们需要下载并安装python3。用于开发的软件,通常安装版本一般是找次新版本进行安装。安装pycharm IDE 开发工具。

    ​ 环境变量的功能,及其配置。环境变量分为,用户环境变量(只对当前用户生效)和系统环境变量(所有用户均有效)。主要用于终端使用,不需要输入python解释器的完整路径,只要输入pythonx 就可使用。

    PATH:方便用户在终端执行程序。即,将可执行程序所在的目录添加到环境变量,以后直接调用即可。

    ​ mac的环境变量在~/.bash_profile文件中。通常在安装的时候python会自动生成环境变量,无需手动配置。

    2.2 编码

    ​ 当前,比较通用的编码有ASCII、Unicode、UTF-8、GB2312、GBK。由于计算机最初使用的是ASCII编码,所以其他编码必须兼容ASCII码。

    1. ASCII

      ASCII码,7bits表示一个字符,最高位用0表示,后来IBM进行扩展,形成8bit扩展的ASCII码。包含所有英文字母和常用的字符,最多可以表示127或256种。

    2. Unicode

      Unicode(万国码),随着计算机的普及,计算机需要兼容多国语言,Unicode编码应运而生。32bits表示一个字符,总共可以表示2**32种不同的符号,远远超出目前所有文字及字符,迄今使用21bits。通用的特点换来的是存储空间的浪费,一般只用于计算机内部处理计算。

    3. utf-8

      为弥补unicode的不足,utf-8针对unicode进行压缩和优化,去掉前面多余的0,只保留有效部分。完整保留ASCII码,欧洲文字一般用2bytes表示,中文一般用3bytes表示。

    4. GBK

      全称是GB2312-80《信息交换用汉字编码字符集 基本集》,1980年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。

      中文使用2bytes表示。GBK,是对GB2312的扩展,又称GBK大字符集,简而言之就是所有亚洲文字的双字节字符。

    # IDE:统一使用UTF-8, 全局和项目均如此
    

    2.3 变量

    ​ 变量的主要作用是为了多次重复使用方便。

    # 查看python关键字
    import keyword
    keyword.kwlist
    

    常量:不允许修改的值,python中只是约定

    2.4 python基础语法

    1. 多行显示

    Python语句中一般以新行作为语句的结束符。

    但是我们可以使用斜杠( )将一行的语句分为多行显示,如下所示:

    total = item_one + 
            item_two + 
            item_three
    

    2. 实现换行

    input("按下 enter 键退出,其他任意键显示...
    ")
    
    # 不换行输出
    print(x, end='')
    print(y, end='')
    

    3. 多个变量赋值

    a = b = c = 1
    a, b, c = 1, 2, "john"
    

    4. 成员运算符

    in						# 如果在指定的序列中找到值返回 True,否则返回 False
    not in				# 如果在指定的序列中找到值返回 False,否则返回 True
    

    5. 身份运算符

    is	
    # is 是判断两个标识符是不是引用自一个对象	x is y 
    类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not	
    # is not 是判断两个标识符是不是引用自不同对象	x is not y 
    类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
    

    6. 不换行输出

    • print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

    7. pyc 文件

    ​ 执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码

    字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件字节码是一种中间码。它比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。

    机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据机器码是电脑CPU直接读取运行的机器指令。

    ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

    2.5 py2与py3的区别

    1. 字符串类型不同
    v = u'henry'
    print(v, type(v))  # unicode类型
    # py2                  py3 数据类型对应关系
    unicode<class>    <--> str
    eg.u'henry'        <--> 'henry'
    str               <--> bytes
    eg.henryx'         <--> henryex
    

    Note

    • bytes类型一般用于文件存储和网络传输
    1. 其他不同
    Py2 Py3
    1 字符串类型不同 unicode,str str,bytes
    2 py2py3默认解释器编码 ASCII UTF-8
    3 输入输出 raw_input() ; print input() ; print()
    4 int / long int 和 long,除法只保留整数 只用int,除法保留小数
    5 range/xrange range/xrange 只有range,相当于py2的xrange
    6 info.keys,info.values,info .items 数据类型是list 数据类型是<class 'dict_keys'>
    7 map/filter 数据类型是list 返回的是iterator,可以list()查看<map object at 0x108bfc668>
    8 reduce 内置 移到functools
    9 模块和包 需要__init__.py
    10 经典类和新式类 同时拥有 只有新式类
    11 yield from 没有
    12 进程池和线程池 from multiprocessing import Pool form concurremnt.furtures.thread import ThreadPoolExecutor orm concurremnt.furtures.process import ProcessPoolExecutor

  • 相关阅读:
    node.js
    js中文乱码问题
    238. Product of Array Except Self
    接下来要记得东西
    javascript 块内函数
    171. Excel Sheet Column Number
    Moore’s Voting Algorithm
    [ Python ] PIL
    [ Python ] KMP Algorithms
    房之事
  • 原文地址:https://www.cnblogs.com/henryw/p/11681359.html
Copyright © 2011-2022 走看看