跳转至

1. python相关介绍

Python 简介

​ 创建人:Guido Van Rossum(荷兰人)
​ 时 间:1989年创建python

Python的应用领域

/系统运维
/网络编程
/科学计算
/人工智能
/机器人
/web开发
/云计算
/大数据及数据库编程
/教育
/游戏,图像
/其他

Python优缺点

​ 面向对象
​ 免费
​ 可移植
​ 可混合编程
​ 简单易学易用 开发效率高
​ 应用领域广泛
​ 开源

缺点

​ 与C/C++相比,执行速度不够快
​ 不能封闭源代码

Python的官网

https://www.python.org

python的解释执行器

​ CPython (C语言开发)
​ Iython (Java开发)
​ IronPython (.net开发)

常用的程序文件的后缀

.py python文件的后缀
.c C语言文件的后缀
.cpp C++语言文件的后缀
.java Java语言文件的后缀

交互模式下编写并执行代码

进入python交互环境
        python3 回车
    退出
        exit()
        qiue()
        输入
        Ctrl + d (输入文件结束符)

Python的注释

    #开头直至行尾
    作用:让注释内容不参加执行

Python的核心数据类型

数字(整型/浮点型/复数/布尔型)
    字符串 str
    列表  list
    ...

    数字
        整型数 int
            整型数是不带有小数部分的数据,包括自然数,负数
            如:-5,0,100等

    整型字面值的表示方式
        十进制表示
            10, 200,-100,99999999
        八进制表示(0o开头,后跟0~7)
            0o11    (9)
            0o177   (127)
        十六进制表示(0x开头,后跟0-9,A-F,a-f)
            注:a表示10,b表示11。。。。f表示15
            0x11    (17)
            0xff    (255)
            0x1234zbcd
        二进制的表示(0b开头,后跟0-1)
            0b111   (7)
            0b1000  (8)

    浮点数的表示方式
        浮点数是带有小数部分的数字(小数部分可以是0)
        浮点数的两种表示方式:
            小数形式
                3.14 3.1 3. 0.14 .14
            科学计数法
                小数e/E(正负号)指数
                如: 6.18E-1  (等同于0.618)
                     2.9979e8   (等同于299790000.0)

    复数complex
        分为两部分
            实部(real)
            虚部(image)
            注:虚部是以j或J结尾
                复数的字面值表示:
                1j
                (2J)
                1+1J
                1-1j
                (-100+100J)


    布尔型数
        用来表示真和假两种状态的类型
            True 表示真(条件满足或成立)
            False 表示假(条件不满足或不成立)
        说明
            True 的值是1
            False 的值是0

    空值None
        None是一个表示不存在的特殊对象
        作用: 用来占位/变量解除绑定


运算符和表达式
    表达式expression
        由一个数字或数字和运算符组成
        作用
            通常让计算机做一些事情并返回结果
        如 1 + 2 * 3 - 4
    算术运算符
        +   加法
        -   减法
        *   乘法
        /   除法
        //  地板除 floordiv
        %   求余
        **  幂运算

        /除法
            得到的数是浮点数,不会丢弃小数部分
            1/3  得 0.333333333333
            8/2  得 4.0

        //地板除
            除的结果去掉小数部分向下取整
            7/3     得2.3333333333333
            7//3        得2
            8//3        得2
            3.25//1.5   得2.0
        %求余
            7%3         得1
            3.25%1.5    得0.25




运算符的优先级
    **
    *   /   //  %
    +   -


括号分组子表达式
    用()可以将表达式分组,()内部的表达式先进行计算


混合类型自动升级
    1 + 2.14    返回类型为浮点型  3.14


基本输出函数
    print('要打印的东西')


变量
    变量是关联一个对象的标识符
        变量可以绑定一个对象,并可以通过变量名来使用这个对象标识符的命名方法
        标识符必须为字母或下划线开头,后跟字母或下划线或数字
    说明
        不能用python的关键字作变量名
        python变量名区分大小写
    合法的变量示例
        a a1 b bbb _a __ABCD var alb2
    不合法的变量名示例
        1a 123 $ABC +a -b @abc

赋值语句
    语法
        变量 = 表达式
        变量名1 = 变量名2 = 变量名3 = 表达式
        变量名1,变量名2,变量名3,... =序列
    作用
        创建一个变量或修改一个变量的绑定的对象

    说明
        当变量不存在时,创建该变量,同时将变量绑定在这个对象上
        当变量存在时,改变此变量绑定的对象
        一个变量只能绑定一个对象
        两个变量可以同时绑定在一个对象上
    示例
        a = 10
        b = 20

Python 中自动化的内存管理(重点)
    a = 10000
    b = 20000
    a = a + b   #10000释放,a绑定在30000上
    c = a       c和a同时绑定在30000上


Python中 关联/绑定/引用的含义
    在python中,变量没有类型
    关联/绑定/引用 都是指一个变量和一个对象的关联关系

练习1

练习:
    1/ 指定一个半径为r = 3 厘米的圆
      (1) 计算圆的周长是多少厘米
      (2) 计算圆的面积是多少平方厘米
    2/ 已知有两个变量
      a 绑定 10000
      b 绑定 20000
    问:
      在不创建任何新对象的情况下,如何让a和b交换绑定的对象

    答:
      a, b = b ,a   #序列赋值

在交互模式下查看当前作用域内的所有变量

>>>help('__main__')
    退出键

    注:help函数用来查看帮助或运行时信息

del语句 (delete简写)

​ 用于删除变量,同时解除此变量与对象的绑定关系
​ 如果可能则释放对象

语法
    del 变量名

自动化内存管理和引用计数

每个对象会记录有几个变量引用自身,当引用的数量为0时此对象被销毁,此种自动化内存管理的方式叫引用计数

is/is not 运算符

is的作用:判断两个对象是否是同一个对象,当是同一个对象返回True,否则返回False

is not 的作用与 is相反

语法  
    x is y  
    x is not y  

小整数对象池

CPython 中 整数 -5 至 256永远存在于小整数对象池中,不会释放并可重复使用

id(x) 函数

作用:返回一个对象在内存中的地址

练习2

练习:
    1/ 在终端打印出如下图形
        *
           ***
          *****
         *******

        print('   *   \n  ***  \n ***** \n*******')

    2/ 中国古代的秤是16两一斤,请问中国古代的216两是古代的几斤几两,写程序打印出来
        >>> 216//16
            13   斤
        >>> 216%16
            8    两
    print('古代的216两是:',216//16,'斤',216%16,'两')

    3/ 从凌晨0:0:0计时,到现在已经过了63320秒
       请问现在是几时几分几秒?
       写程序打印出来

        >>> 63320//(60*60)
            17
        >>> (63320-(60*60)*17)//60
            35
        >>> ((63320-(60*60)*17)-(35*60))
            20
        print('63320秒是:',63320//(60*60),'时',(63320-(60*60)*17)//60,'分',((63320-(60*60)*17)-(35*60)),'秒')

    4/ 温度转换
       摄氏温度 = 5.0 /9.0 *(华氏温度-32)
       开氏温度 = 摄氏温度 + 273.15
       问:100华氏温度转为摄氏温度是多少度?
           转为开氏温度是多少度?

        >>> 5.0/9.0*(100-32)
            37.77777777777778
        >>> 37.777777777777+273.15
            310.92777777777695
        >>>