疫情环境下的网络学习笔记 python 3.4 课堂笔记

今日内容

今日开始正式学习python语言

套路:是什么,为什么,怎么用

大前提:python中出现的所有语法都是为了让计算机能够具备人的某一功能

变量

  • 什么是变量

    • 变化的量,指的是事物的状态
    • 变:事物是不断发生变化的
    • 量:变化的度量
  • 为什么要有变量

    • 为了让计算机想人一样记住某种状态,状态时可以发生变化的
    • 程序执行的本质是一系列的变化,所以需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化
  • 变量组成部分

    • 变量名:指向等号右侧值的内存地址,用来访问变量值
    • 赋值符号:将变量值的内存地址绑定给变量名
    • 变量值:代表纪录事物的状态
  • 变量的基本使用

    • 原则:先定义后引用

    • 定义:

      name = 'deimos'

      在内存里开辟一个内存空间,把变量值放进去,变量名与内存空间关联

    • 存不是目的,目的是为了方便地取

内存管理:垃圾回收机制

一个变量值当其与变量名关联,可以通过变量名访问,则他是有用的

垃圾:如果这个变量值没有和任何变量名关联,无法被访问到,占用内存,应该被回收。因此引入垃圾回收机制

快捷键 ctrl + d 复制当前行,ctrl + / 注释当前行

引用计数:

  1. 引用计数增加

    x = 10  # 10的引用计数为1,x指向10的内存地址
    y = x   # 10的引用计数为2,y也指向10的内存地址
    z = x   # 10的引用计数为3
  2. 引用计数减少

    del:解除变量名与变量值的绑定关系

    del x    # 解除变量名x与其变量值的绑定关系 10的引用计数变为2
    del y   # 解除变量名y于10的绑定关系 10的引用计数变为1
    z = 12345   # 解除z与10的绑定关系,再建立于123456的绑定关系,10的引用计数变为0,则没有变量名与10绑定,无法访问到10,那么10就没用了,于是被回收

    小白色波浪线:pep8标准

变量三个组成部分

变量名,赋值符号,变量值

变量名

如何命名变量?

变量名的命名原则:顾名思义

  • 由字母,数字,下划线组成
  • 不能以数字开头
  • 不能用关键字来命名变量(print,for,break。。。)
  • 不要用拼音,不要用中文

命名风格:

  • 纯小写 + 下划线_ 形式(推荐

    shop_phone_num,custom_id

  • 单词首字母大写

    ShopNum,CustomerId

变量值

变量值三个重要特征:id,type,value

  1. id:一串数字编号,变量值内存地址的映射,内存地址不同则id不同

    shop_num = 666
    print(id(shop_num))
    2598526700496

    id() 来查看变量的id

  2. type:事物状态的类型各不相同,有数字,有字符等等,变量值也应该有不同的类型对应不同类型的状态

    type() 来看变量的类型

  3. value:值本身

is 与 ==

is和==是运算符

  • is 比较左右两个值的身份id是否相等,值一样,id不一定一样,因为id代表内存地址,同一时刻内是唯一的

    shop_num = 666
    shop_num1 = 666
    id(shop_num) is id(shop_num1)
    # 返回 false
    # 在pycharm内返回true

    id相同,值肯定相同

  • == 比较左右两个是否相等

小整数池

​ 从python解释器启动的那一步开始,就会在内存中事先申请好一系列内存空间,存放好常用的整数,使用常用整数的时候不会新创建内存地址,而是直接调用已经放好的整数

​ 只要是程序运行中产生的常用整数,无论是变量还是算式结果,都会在已经存好的内存中调用,不会新创地址

y=4
x=3
x+=1
>>> x is y  # 返回true

小整数池范围:python解释器中为-5到256

pycharm会突破解释器的范围,扩充小整数池。以python解释器为准

小整数池对部分字符串也有效果,对浮点数无效。仅了解

常量

python语法中没有常量的概念,但是在程序的开发过程中会涉及常量的概念:重力加速度,圆周率。。。

约定俗成用纯大写字母代表常量

基本数据类型

type(变量) 来看变量的类型

数字类型 int float

  1. 整型 int

    作用:纪录年龄等整数

    定义:直接 变量= 数字 age = 21

  2. 浮点型 float

    作用:纪录薪资,身高体重等小数

    定义:直接 变量= 小数 weight = 100.8

数字类型的基本使用

  • 数学运算:加减乘除,int 和 float 之间可以数学运算
  • 比较:大于小于不等于

字符串类型 str

  • 作用:纪录描述性质的信息,住址,一段话。可迭代

  • 定义:用引号(’str‘,“str”,或着三引号)

    shop_phonenum = '18888888888'

    要在字符串中使用引号(字符串嵌套),外层,内层用不同的引号

    要在字符串中定义有特殊意义的字符,使用反斜杠 \ 转意

基本使用

  • 字符串之间用 + 可以连接,但仅限于字符串与字符串之间(不推荐使用)
  • 字符串使用 * 代表字符串的重复

列表 list

索引对应值,正向索引从 0 开始,0代表第一个

  • 作用:纪录同种属性多个值,并且可以按照索引取指定位置的值

  • 定义:在中括号 [] 中,用逗号分隔开任意类型的值,一个值称为一个元素

  • 取值:列表名[索引],取值可以嵌套

    正向索引,第一个值开始,索引是0

    负向索引,最后一个值开始,索引是 -1

索引反映的是顺序、位置,对值性质没有描述

字典 dic

以key:value 键-值的形式存值,其中key通常为字符串类型,所以key对值可以有描述作用

  • 作用:用来存多个值,每个值都有唯一key与其对应,key具有描述性

  • 定义:在花括号 {} 内用逗号分开多个 key:value

    dic = {
        'key1':1,
        'key2':2,
        'key3':[11,22,33,[44,550],66]
    }

    先把字典当成无序

  • 取值 dic['key'] 注意要在key 加引号

    嵌套取值

    print(dic['key3'][3][1])
    # 输出 550

布尔类型 Boolean

纪录真,假两种状态

真:True;假:False

  • 作用:用于条件判断
  • 定义:所有数据类型都自带布尔值,0,none,空 表示假,其余全为真

猜你喜欢

转载自www.cnblogs.com/telecasterfanclub/p/12410830.html