• 第一天


    第一部分 准备工作
    一、计算机入门知识
    1. 语言:进行沟通的方式
    计算机语言:跟计算机沟通的方式
    2. 机器语言:计算机能够识别的语言。二进制(0,1)。高电位 低电位
    汇编语言:助记符 add a b 低级的语言
    高级语言:java python php c c++ .net go
    3. 计算机的语言执行方式分:
    编译执行:被编译一次之后,编译成二进制,下一次再执行直接执行二进制文件。
    可移植性差。但是执行效率高。适合情况:windows,底层的,不经常修改需求的系统。
    解释执行:每次运行都会解析一次原码,运行效率低,但是可移植性好。
    适合的情况:开发网站,办公系统...需求经常修改开发
    二、python简介
    1.python历史

    (1) 荷兰的龟叔 教学语言ABC 失败, 不是开源的
            1989 圣诞节 python ,弥补ABC 不足, 实现在ABC 中没有实现的理想。
    python是巨蟒, 飞行的马戏团
    (2) 为什么现在才开始火?
    机器学习---facebook出的工具torch ---python出了python ----python彻底火了
    2. python的版本
    2x
    到2.7之后就不更新
    3x,python社区主动推行3x:摒弃2里面的设计缺陷
    3.python的特点
    存在即合理
    (1)语言简洁 :人生苦短,我用python
    (2)面向过程、面向对象
    (3)解释执行的语言:跨平台
    (4)扩展性强:胶水语言
    (5)强大的库进行支持
    4.python的缺点
    (1)速度
    (2)原码不能加密
    5.应用领域
    (1)web开发:django
    (2)网络爬虫
    (3)数学分析科学计算
    (4)游戏编程
    (5)人工智能
    三、安装
    1. python的安装
    注意:勾选 add path
    2.开发工具的安装pycharm
    四、环境变量
    是操作系统中路径的集合
    操作系统中的特殊信息,为了进行区分,不同的环境变量取不同的名字
    path环境变量,记录的是可以直接找到exe可执行文件的路径
    可以通过echo %path% 命令查看path的所有内容
    可以通过set path=路径,进行添加路径。 但是这种方式,当关掉窗口之后,就会失效了。
    通过图形界面:环境变量,进行永久修改。
    五、python的执行
    1. 交互:先使用python命令,调用python解释器,再输入python命令进行执行
    程序是一行一行执行的,执行完成之后,等待下次输入
    2. 脚本:把代码都放在一个脚本(.py)文件
    执行的实行,输入python,调用解释器,输入文件名(注意,文件必须在命令执行的路径下)
    python 路径文件名.py
    说明:
    交互执行和脚本执行的区别:
    交互模式相当于一行一行的执行源代码,每输入一行就执行一行
    脚本模式相当于启动python解释器之后,一次性的把py文件(源代码)执行,没有机会进入人机交互
    第二部分 变量+常量
    一、变量
    1.变量的定义和内存结构
      变量:变量用来使用指定的名字绑定特定的值
    格式:变量名 = 变量值
    注意:= 不是数学意义上的等号,而是赋值的概念
    变量值赋予变量名
    使用变量名绑定了变量值
    其他语言里:变量赋值的过程,可以看成是把变量存储在一片内存中,这一片内存就是变量,静态语言
    python:变量赋值可以看成给变量贴标签的过程

    当我们去写
    a="ABC" python解释器:做两件事:
    1.在内存中创建"ABC"
    2.再创建一个a,并且把a指向ABC
    2.多个变量指向同一个内存地址
    python 基于值的内存管理,不同变量绑定相同的值,内存中对于不可变类型来说,只有一份值
    3.修改变量绑定
    一个变量一次只能绑定一个值。如果修改这个变量的绑定,跟原来的值进行解绑
    python是弱类型语言,一个变量可以绑定多种类型的值
    4.同时为多个变量进行赋值
    a=b="abc"
    5.变量定义的注意事项:
    (1)英文、数字和_组合, 数字不能开头。标识符。
    (2)变量在使用之前必须命名,变量只有被赋值之后才能在内存中被创建
    6.变量的删除
    删除的是变量名,不是变量值
    二、常量
    1. 普通变量
    说不能变,定义常量的规则,将变量名全部大写

    PI=3.1415926
    2. None类型NoneType
    内置常量,表示变量值的缺失
    使用场景:在定义变量时,必须给变量一个明确的值的时候,会使用None来定义
    None绝对不是空串,也不是0
    第三部分 输入输出
      输出 print, 会自带换行
    
    在ptint 中设置end会设置print默认的结束符号,默认结束符号是
    print("hello world","java","python",end="")
    print("goodbye")
    使用sep 设置分隔字符,分隔的是每一个,的内容
    print("x","y","z",sep="-")

    输入 input(提示信息),阻塞状态的函数,执行input之后,程序会等待输入
    i=input("请输入内容:")
    print("刚才输入的内容:",i)

    注释:都不经过python解释器解释
    单行注释
    使用# 注释一行内容,从#开始,一直到本行结束,都属于注释的内容


    特殊注释:用来设置python解释器的位置,习惯上放在文件的第一行
    内容:用来设置python解释器的位置
    #!/usr/bin/python3 一般情况会在此路径下
    #!/usr/bin/nev python3 :从你的path环境变量中来搜索python3文件

    内容:设置文件编码
    python3默认是utf-8
    python2默认的是ASCII
    #-*-coding:utf-8-*-

    特殊的注释,不会被python解释器忽略

    标识符和关键字
    标识符:包括变量、函数、方法
    注意:标识符不能跟关键字重名
    标识符区分大小写
    关键字:python中具有特殊语义的符号。

    **map(函数,迭代对象):把迭代对象中的每一个元素都按照函数执行
    def a(x):
        return  x + 1
    b = map(a,[1,2,3,4,5])
    print(list(b))
    def map_new(func,seq):
        a = []
        for i in seq:
            i+=1
            a.append(i)
        return a
    b=map_new(a,[1,2,3,4,5])
    print(b)
    第四部分 数值类型
    1.整型 int
    定义
    a=(1)
    b=1
    print(type(a),type(b))
    取值范围
    python语言其实分为整型和长整型,
    python中int c语言中long 取决于机型,32位机器 -2^31 2^31-1
    长整型 可以看成是无限大,其实是计算处理不了,其实到了界限
    python2.2版本开始,如果发生溢出,,会自动将整型转换为长整型
    查看当前机型最大的整数值。
    import sys
    i=sys.maxsize
    print(i)

    **四种进制,逢n进位
    二进制(使用0b或者0B作为前缀)
    八进制(0o或者0O)
    十进制(无前缀)
    十六进制(0x或者0X)0-9还是使用0-9,10-15使用a或者A 到f或者F
    * 进制的转换
    1,其他进制转换成十进制
    乘幂
    2,十进制转换成其他进制
    下除法:除数是进制,最后的商,所有的余数拼接

    bin()转换成二进制
    int()转换成十进制
    oct()转换成八进制
    hex()转换成十六进制


    3,其他进制之间的转换
     *二进制和八进制   每三位作为一个位
     *二进制和十六进制  每四位作为一个位
      注意转换函数之后获得的数据类型
    除了int获得的返回自是数值类型int以外,其他都是str字符型
      int还可以将字符串转换成数值类型int类型
    print(int("111"))
    #print(int("111.1"))
    如果字符串不能转换成整型,那么会报错
      int()函数可以指定进制,如果不指定,默认按照十进制输出
    第一个参数,字符串
    指定的方式,在int中第二个参数指定2,、8、16

      print(int("100,2"))
    # print(int("120,2")) # 使用的时候要注意,如果指定进制,对应的数字必须符合指定进制的规范,否则无法转换

      布尔类型bool-----整数类型int的子类型
    两个值True 真 整数1 False 假 整数0 注意大小写
    *布尔类型虽然可以当成1和0参与运算,但是一般不用这样使用
    # 应用
    1.运算符 关系运算符
    2.条件 if for while

    # 浮点型 float,只支持十进制
    # i=01  #定义整型的时候,不能在数值前加0
    浮点类型定义时,可以在前面加0
    # 科学计数法: 把10 使用e代替
    1.23*10^9
      取值范围:浮点数不是无界限,
    inf代表无限大 -inf 代表无穷小
    *输出浮点数的范围
    import sys
    print(sys.float_info.max)
    print(sys.float_info.min)

      特殊的浮点数: inf 代表无穷大  NaN(not a number)
    NaN 跟谁都不相等, 跟自己也不相等
    print(float("nan"))
    x=float("NaN")
    print(3==x)
    print(x==x)

     可以通过math函数中的isnan方法判断当前变量是不是nan
    import math
    print(math.isnan(x))

     浮点数的不精确性
    print(10/3) #浮点数只能取计算机近似的数

    # 使用浮点数时要注意
    1.不能将两个数量级别差别很大的浮点数进行计算
    2.尽量避免进行等量的判断

    # 解决不精确性,decimal类型
    import decimal
    x=decimal.Decimal(0.1)
    print(x)
    y=decimal.Decimal(0.2)
    print(y)

    # 使用字符串进行运算达到浮点的精确计算
    x=decimal.Decimal("0.1")
    y=decimal.Decimal("0.2")
    print(x+y) #运算时才能有效?

    #浮点数默认是有28位有效数字,可以使用上下文环境修改有效位数
    Context=decimal.getcontext()
    Context.prec=10

    x=decimal.Decimal(0.1)
    y=decimal.Decimal(0.2)
    print(x+y)

    # 复数类型complex 实部+虚部
    # 需要注意: 实部和虚部浮点类型

    # 四种类型之间的转换
    """
    int(参数) 能把其他类型转换成整数类型 如果不给参数,默认输出0
    float(参数) 转成浮点类型 默认输出0.0
    complex(参数) 转成复数类型 默认输出0+0j
    bool(参数)转成布尔类型 默认输出false
    """
    f=0.1
    i=0
    c=1+2j
    b=False
    print(int())
    print(float())
    print(complex())
    print(bool())

    print(int(f)) #当将浮点类型转换成整型,直接截断
    # print(int(c)) #不能把复数类型转换成整型
    print(int(b)) #原来是False---0 True----1

    print(float(i)) #直接。0
    # print(float(c)) #不能把复数类型转换成整型
    print(float(b)) #False---0.0 True---1.0

    # complex可以将任何一个类型转换成复数类型
    print(complex(i))
    print(complex(f))
    print(complex(b))

    #bool 布尔类型可以对任何类型进行转换
    print(bool(i)) #将整型转换成布尔类型, 0False,其他都是True
    print(bool(i)) #0.0False 其他都是True
    print(bool(i)) #0j False其他都是True















     
     
     


  • 相关阅读:
    如何将 Vim 剪贴板里面的东西粘贴到 Vim 之外的地方? (Ubuntu18.04系统亲测)
    联想还是中国企业吗,我们还应该支持联想吗?以后我还是不要选择联想的产品了吧
    使用Linux桌面壁纸应用variety发现的一些问题
    线性代数预备知识——向量与空间
    线性代数预备知识——向量及方程组
    【线性代数的本质】线性空间、基向量的几何解释
    一时失误的权限设计
    闲谈企业管理执行力的问题
    执行力的不够的系统解决方案
    执行力的问题系统的无奈
  • 原文地址:https://www.cnblogs.com/ztx695911088/p/9021832.html
Copyright © 2020-2023  润新知