Python -01

day01笔记

python简介

创建人:Guido Van Rossum(荷兰人)
时间: 1989年创建Python
python的应用领域
    系统运维
    网络编程,
    科学计算
    人工智能,机器人
    web开发
    云计算
    大数据及数据库编程
    教育,
    游戏,图像
    其他
python的优缺点:
    优点:
        面向对象(Java,C++,Python)
        免费,可移植,可混合编程,简单易学易用,开发效率高,
        应用领域广泛,开源
    缺点: 
        与C/C++相比,执行速度不够快不能封闭源代码
Python的安装:
    兼容的操作系统:
        Windows
        Linux/Unix
        MaxOSx
Python的运行
    python的解释执行器的类型
    CPython(C语言开发)
    Jython (Java语言开发)
    IronPython(。net开发)
第一个python程序:
 打开sublime tex.3 编写hello。py
  内容写: 
    print(“hello world”)
执行hello。py
 python hello。py
常用的程序文件的后缀
    。py python文件后缀
    。c c语言文件后缀
    。cpp c++语言文件后缀
    。java java语言文件后缀

python的交互模式下编写并执行代码:进入python交互环境

#python 《回车》
推出python交互提示模式
》〉》quit()《回车》
〉》〉exit() 〈回车〉
输入:ctrl+d(输入文件结束符)

python的注释:

    python的注释是一#开头的,直至行尾
    作用: 
        让注释内容不参加解释执行

python程序组成

    程序由模块组成
    模块由语句,函数,类等组成
    语句包含表达式
    表达式建立并处理数据对象

python 的核心数据类型

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

数字:

    整型: int
        整型数是不带有小数部分的数据,包括自然数,0,复数如: -5,0,100等可以包含很多位,不需要考虑越界
    整型字面值的表示方式
        十进制表示:
            10,20,30
        八进制方式表示(0o开头,后跟0~7)
        0o11,(9)
        0o177(127)
        十六进制表示(0x开头,跟0~9,A~F)
        
        二进制的表示(0b开头,后跟0~1)
    浮点型数 float
    浮点型数是带有小数部分的数字(小数部分可以是0)
    小数形式;
        3.14, 3.2 
    科学计数法:
        小数e/E(正负号)指数
    如: 
        6.18E-1等通同与0.618
        2.9979e8 等同于29799
    
    复数: complex
     分为两部分:
        实部(real)
        虚部(image)
        注:虚部是以j或J结尾的
        复数的字面值表示
        1j
        (2J)
         1-1j
    
    布尔型数 bool
        用来表示真和假两种状态的类型
        True表示真(条件满足成立)True的值是1
        False的值是0
    
    空值
        None是一个表示不存在的特殊对象
        作用:
            用来占位
            变量解除绑定

表达式和运算符

    表达式 expression
        由一个数字或运算符组成
        作用:
            通常让计算机做一些事情并返回结果
    
    算数运算符:
        + 加法:
        - 减法:
        * 乘法
        / 除法
        // 地板除 floordiv
        % 取余
        ** 密运算
    / 除法
        除法得到的数是浮点数,不会丢弃小数部分
        1/3 得0.333333
        8/2 得4.0
        
    // 地板除
        除得结果去掉小数部分向下取整
        7/3得2.3333
        7//3 得 2
        8//3 得 2
        3.25 //1.5 得 2.0
    abs(a):
        求一个数的绝对值
    
    divmod(a,b):
        内建函数divmod()返回的是两个值,这两个值在一个圆括号里,圆括号中第一个数字表示商,第二个数表示余数
    round(a,b)
        内建函数round(),第一个参数表示任意一个数,第二个参数表示要保留的小数位数,返回值是一个四舍五入后的数值.
    dir(module):
        是一个非常有用的指令,可以通过它查看任何模块中包含的工具
    help(math.pow)
        help函数可以帮助我们更好的理解函数的概念

python 金句: ( 变量无类型,对象有类型)

变量只是一个标签,所有没有类型之说,它不仅可以贴在整数类型的对象上,还能贴在其他类型的对象上,(即可以四处张贴的标签)
对象是有类型的,eg: str,int,float,list

括号分组子表达式

    用()可以将表达式分组(),()内部的表达式先进行计算
练习:
    1. 用交互模式计算:
        1)一个商店,西瓜是7元一个,你带20元可以买几个西瓜,找零多少
            # 一共20元钱,7元一个西瓜,一共可以买多少个西瓜
            print("一共可以买: "+ str((20 // 7))+"个西瓜,剩余"+str((20 % 7) )+"元")
        2)一个学生的毕业薪资是10000元每年涨20%,十年后他的薪资是多少啊
            print("十年后的薪资是: " +str((10000*(1+0.2)**10)))

混合类型自动升级:
    1 + 2.15 返回类型为浮点型 3.15

基本输出函数: print

    格式:
        print(要打印的东西)
        # 练习: 1. 已知矩形的长边长为6cm,短边长为4cm,用表达式求周长和面积
        print("周长: "+str((6+4)*2)+" 面积: "+str(4 *6 ))
        # 方式2(
        print("周长: ",(6+4)*2,"面积",4 * 6)

变量:

    什么是变量
        变量是关联一个对象的标识符
        变量可以绑定一个对象,并可以通过变量名来使用这个对象的标识符的命名方法
    
    标识符的命名方法
        标识符必须为**字母**或**_开头**,后跟字母或下划线或数字说明
        不能使用python的关键字做变量名
        python变量名区分大小写
        合法的变量名
        a1 a  bb _adsf  adf
        不合法的变量示例:
        1q 123 #asb +a -nb 
    python 的关键字总共有33个
        True,False,None.,is,del,if elif...

连接语句

    语法:
        变量名+变量名:
        a = 100
        b = 200
        a + b #300
        c="asjd"
        a+c # Traceback (most recent call last):File "", line 1, in TypeError: unsupported operand type(s) for +: 'int' and 'str'
    用法:
        用"+"拼接起来的两个对象必须是同一种类型的,如果两个都是数字,毫无疑问是可以的就是求和,如果都是字符串会得到一个新的字符串,
补充:
    str(a)函数:
        实现将整数对象转换为字符串对象
    repr(a)函数:
        也可以是实现同样的效果
    int(a)函数:
        实现可以将str,float类型的对象转换为整数对象(默认去除小数点后面所有的数字,不进行四舍五入)

赋值语句

    语法: 
        变量名= 表达式
        或 变量名1 = 变量名2 = 变量名3 
        或 变量名1,变量名2,变量名3 = 序列
    作用: 
        创建一个变量或修改一个变量的绑定的对象.
    说明:
        当变量不存在时,创建该变量,同时将变量绑定在这个对象上
        当变量存在时,改变此变量绑定的对象
        一个变量只能绑定一个对象
        两个变量可以同时绑定在同一个对象上
        示例:
            a = 10 
            b = 20 
            a = b# a绑定在 b绑定的对象上,a与10 解绑,绑定在20上
            r = 10 
            a = 6 
            b = 4 
            area = a * b # 等于area = 6 * 4
            x = y =z = 1000
            x,y = 100,200 # 等价于 x绑定100, y 绑定200

python 中自动化内存管理(重点)

    a = 1000
    b = 1000
    a = a + b # 
    c = a # a 和c 同时绑定在2000上
    del b # 当删除b时,b上的引用计数会减为0,会被回收

python 关联/绑定/引用 的含义

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

练习:

    1. 指定一个半径 r = 3 cm的圆
        1)计算圆的周长是多少厘米 length = (3.14 * 2 *3 )
        2)计算圆的面积是多少平方厘米 area = 3.14*3**2
    问?
        
        a = 3 
        b = 4
        a = a + b
        a = a - b
        b = a - b
        在不创建任何新对象的情况下,如何让a和b交换绑定的对象
        a = 1
        b = 2
        print("变换之前:",a,b)
    注:在python中变量相当于贴在对象上的标签,这个操作只不过是将标签换了个位置,就分别指向了不同的数据对象
        #方法0 (序列复制)
        a,b = b,a
        #方法1
        a = a + b
        b = a - b
        a = a - b
        print("变换之后",a,b)
        #(方法2)
        a = a^b
        b = a^b
        a = a^b
        print("变换之后:",a,b)

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

    >>> help("__main__")
    >>> help("__main__")
    ```
        Help on module __main__:
        
        NAME
            __main__
        
        DATA
            __annotations__ = {}
            a = 20
            b = 10
            x = 100
            y = 200
            z = 100
        
        FILE
            (built-in)
    ``` 
    注: help函数用来查看帮助或运行时信息

del语句 (delete简写)

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

语法: 
    del 变量名
    del a # 删除a变量,

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

每个对象会记录有几个变量引用自身,当引用的数量为0时,此对象被销毁,此种自动化内存管理的方式即为引用计数
a = 10 
b = 20
a = b # 释放10 的同时 将a绑定在20上
del a # 删除a变量,同时将20 引用计数-1
del b # 删除b变量,同时将20 删除

is/is not 运算符

作用:
    判断两个对象是否是同一个对象,当是同一个对象时返回True,否则返回false
    
    is not 的作用和is相反
语法: 
    x is y()
    s is not y

小整数对象池:

    CPython 中整数-5 至 256永远在小整数对象池中,不会释放并可重复使用
    eg 
    ```
    x = 10 
    y = 10
    x is y # True
    a = 1000
    b = 1000
    a is b # False
    ```

id(x) 函数

作用:
    返回一个变量在内存中的地址

练习:

 1. 在终端中打印出如下图形(注: python3中print不换行可以加个参数end="")
    *
   ***
  *****
 *******    
 ```
 for i  in range (5):
    a = i*2 +1
    b = 10 -i
    # 输入空格数
    while (b >= 1):
        print(" ", end="")
        b = b - 1
        #输入* 数
    while( a >= 1):
        print("*",end="")
        a = a -1
    print()
 ```

2. 中国的秤时16两一斤,请问中国古代的216两时古代的几斤几两?写程序打印出来
```
# 中国的秤时16两一斤, 请问中国古代的216两时古代的几斤几两?写程序打印出来
# 定义a 表示总两数
a = 216
# 定义两转换斤的进制
b = 16
# 输出结果
print("古代216两相当于:",216//16,"斤", 216%16, "两")
```

3. 从凌晨 0:0:0记时,到现在已经走过了63329秒,
    请问现在是几时几分几秒?写程序打印出来
    提示:可以用地板除和求余来实现
    ```
    # 从凌晨 0:0:0记时,到现在已经走过了63329秒,
    #       请问现在是几时几分几秒?写程序打印出来
    #      提示:可以用地板除和求余来实现
    a  = 63329
    h = a//(60*60)
    m = (a-h)%60
    s = a %60
    print(h,":",m,":",s)
    ```
4. 温度转换:
    摄氏度 = 5.0/9.0 * (华氏温度-32)
    开氏温度 = 摄氏温度 + 273.15
    问:
        100华氏度温度转换为摄氏温度是多少度?
        转为开始度是多少度?
    ```
    hua = 100
    s = (5.0 /(9.0*(hua-32)))
    k = s+273.15
    print(s,k)
    ``

你可能感兴趣的:(Python -01)