python学习笔记1

python学习笔记1

一、python是什么?

​ python是一种面向对象的解释型脚本语言。

  • 解释型语言和编译型语言

    • 解释型:逐行解释成二进制,再执行

      • 优点:可以跨平台,开发效率高
      • 缺点:执行效率低
      • 代表语言:python
      • 编译型:一次性编译成二进制,再执行
        • 优点:执行效率高
        • 缺点:不可跨平台,开发效率低
        • 代表语言:C
  • 面向对象(OOP)

    ​ Object Oriented Programming,面向对象的编程。相应地有OOD(面向对象地设计)和OOA(面向对象地分析)。

    ​ 面向对象其实是把一系列面向过程的操作封装起来作为一个类,在面向对象的操作过程中我们实际上就是在类的基础上对类这个对象进行调用,但是对于类内部如何实现方法不用管。举个例子,就像你去粉店嗦粉,你不用管粉具体是怎么做的,直接吃端上来的粉,这就是面向对象的。(而具体粉店老板做粉的具体过程其实就是面向过程的,所以说面向对象的底层还是面向过程)

    • 优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特性,可以设计出低耦合的系统,是系统更加灵活、更加易于维护。
    • 缺点:性能比面向过程差
    • 面向对象的三大特性:
      • 封装:隐藏对象的属性和具体实现细节,仅对外开放公共访问方式,提高了复用性和安全性。
      • 继承:提高代码复用性;继承是多态的基础。
      • 多态:父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,提高了程序的拓展性。
    • 面向对象的五大原则:
      • 单一职责原则:类的功能要单一。
      • 开放封闭原则:一个类对于拓展功能是开放的,对于修改是封闭的。
      • 里氏替换原则:子类可以在任何父类出现的地方替换父类。
      • 依赖倒置原则:高层次的模块不应依赖低层次的模块,比如父类不能依赖于子类的功能。
      • 接口分离原则:类里面不同的子功能(方法)的接口应该分离。

二、python里的变量和常量

  1. 变量
    • 直观理解:变量就是可以变化的量
    • 命名:只能以数字,字母,下划线的组合命名,不能以数字开头,不能与python的常用关键字重合,一般变量名还需具有描述性。
    • python中变量的定义与使用:
a = 100 # 定义一个变量a并且用=给a赋值为100
a = a / 10 # 对a进行简单的除法并将结果值再次赋值给a
  • 变量的三个特性:

    • id: 反应变量在内存中的位置,id不同内存地址肯定不同

    • value: 变量的值

    • type: 变量的值的类型

  1. 常量

    • 与变量相对应,数值永远不变的量叫常量

    • 在python中并没有真正意义上的常量,为了迎合其他语言中常量的存在,预定俗称地将变量名全部大写地变量规定为'常量'。一般情况下,有特殊意义不能改变的量定义为常量。

# 定义一个'常量'
PI = 3.1415926535
CHINA_BIRTH_DAY = '1949-10-01'

三、注释:解释说明

  • 单行注释:# +注释内容

    # 这是一句单行注释
    
  • 多行注释:’‘’+注释内容+‘’‘或者“”“+注释内容+”“”

    '''
    这是一句注释
    这一行也是注释
    '''
    
    """
    这是一句注释
    这一行也是注释
    """
    

四、基本数据类型:电脑不会判别数据差距,需要人为给出数据类型

  1. int整型
  • 用于记录数值为整数的数据

    a = 100
    birth_year = 1998
    student_count = 997
    
  1. float浮点型
  • 用于记录数值带小数 的数据

    height = 170.5
    price = 9.99
    
  1. 字符串类型str
  • 用于记录一些描述性的状态数据

    name = 'Mary'
    sex = 'Male'
    # python中字符串可以使用中文
    sex_1 = '男'
    
  • 字符串的相关运算

    # 字符串可以进行+和*的运算
    s = 'hello'
    name = 'Alice'
    print(s+','+name) # 输出结果为:hello,Alice
    print(s*3)# 输出结果为hellohellohello
    
  1. 列表list
  • 用于储存一系列的数据,同时有相应的方法进行元素的存取。

    # 列表的基本定义
    li = [1,'a',3,4,2.3]
    
    # 列表可以根据索引进行取值,注意:python中第一个元素的索引为0
    print(li[1]) # 结果为a	
    print(li[0]) # 结果为1
    # 也可以从后往前索引,这时候倒数第一个元素索引为-1
    print(li[-1]) # 结果为2.3
    
    # python中列表中可以嵌套列表
    li = [[1,2,3],[4,5,6],[7,8,[9,10]]]
    # 嵌套的列表也可以使用索引来取出列表值
    li[0][0] 
    # 此时li[0]取出的是一个列表[1,2,3]
    # 所以li[0][0]可以取出元素1
    
  1. 元组tuple
  • 和列表相似,也是用于储存一系列数据,但是元组元素一般不可更改。

    # 创建一个元组
    tuple_1 = (1,2,3)
    # 创建只有一个元素得元组时,为避免其产生歧义,常如下定义
    tuple_2 = (1,)
    # 如果元素后面不加一个',',可能会引起与数值1进行括号运算的歧义。
    
  1. 字典dict
  • 这是一个特殊的类型,它里面的元素相当于一个二元对,可以把它理解成两个具有映射的相同长度列表的复合。字典中key元素列表不能重复,value值分别对应于一个key值。

    # 字典基本定义如下:
    dict_1 = {'name':'Alice','age':'20','sex':'女'}
    # 字典可以通过key值引用变量值
    print(dict_1['name']) # 结果为Alice
    
  1. 布尔型bool
  • 用于记录真假两种状态的数据

    # 常见bool型数据
    flag = True
    answer = False
    # 一般用作判断的条件
    
posted @ 2020-03-15 17:48  卡奇欧  阅读(122)  评论(0)    收藏  举报