• day03-变量,基本数据类型,基本运算符


    今日内容:

    程序 = 数据 + 功能

    1. 变量
    2. 基本数据类型
    3. 基本运算符
    4. 输入输出
      1. 相当于人类的耳朵眼睛..
    5. 流程控制之if判断

    一. 变量

    变量就是存取内存的地址

    一.原则: 先定义,后赋值

    1.1 定义

    age = 18

    三大组成部分:
    变量名:根据内存地址找值
    赋值符号:将变量值的内存地址绑定给变量名
    变量值:就是我们存储的数据,或者说记录的事物的状态

    1.2 引用

    变量的引用python会自己根据你的内存地址给你返回值的本身
    print(age)

    二.变量名
    命名的大前提:变量名的命名该见明知意
    age = 18
    level = 18
    count = 18
    命名的规范:
    1.是由字母,数字,下划线组成
    2.不能以数字开头
    3.不能使用python的关键字

    level_of_jkey = 18
    _ = 18
    "_" 不要用于变量名的开头,它可以这样使用,但是不能达到见明知意

    1.3 命名风格

    1. 驼峰体

    LevelOfJkey = 18

    2.纯小写加下划线(推荐)

    level_of_jkey = 18

    三.变量值
    3.1 变量值的俩大特征
    age = 18
    salary = 1.5
    res = age + 1
    =========> 类型
    print(type(age)) #
    print(type(salary))

    =========> id:就是值在内存中的身份证号,id反应的就是内存
    print(id(age))
    print(id(salary))

    is : 判断的是id是否相等
    == : 判断的是值是否相等

    注意:

    ​ 如果id相等,证明就是同一个内存地址,值一定是相等的
    ​ 如果值相等,他们的id不一定相等,还有可能是不同的内存地址存同样的值.
    C:Users菩萨>python3
    Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    x = 1000
    y = 1000
    print(x is y)
    False
    print(x == y)
    True
    z = 120
    c = z
    print(z is c)
    True
    print(z == c)
    True

    小整数池:python解释器在启动的时候,会先将小整数的内存地址申请好,运行的时候就可以只有运用.不用再重新申请内存地址.
    x = 100000
    y = 100000

    print(x == y, id(x))
    print(x is y, id(y))

    True 和 False , None 都是python解释器事先给你造好了的内存地址.他们的id都是一个.

    x = True
    y = 10 > 3
    z = 10 < 3
    id(x)
    140703900600656
    id(y)
    140703900600656
    id(z)
    140703900600688

    3.2 内存管理,垃圾回收机制gc
    del 解绑 解除 变量名 和 内存地址 之间的绑定
    核心原理:引用计数
    x = 100 # 100 的引用计数为1
    y = x # 100 的引用计数为2
    y = 200 # 100 的引用计数为1
    del x # 100 的引用计数为0 当 计数为0时,垃圾回收机制就会自动给你在内存空间中清除了.

    1.4分代回收:

    ​ -根据引用的次数更改的多少来改变其权重,权重越高的回收的周期越短
    ​ - 作用可以提示效率

    1.5标记清除: 循环引用导致内存泄漏问题

    常量: 不能改变的量
    - 比如重力加速度
    在python中定义一个常量应该要用全大写大变量名.不用也不会报错,但是不符合你的代码规范
    - AGE = 18
    在 go 语言中就是在定义的时候用到关键字 const
    - const age int = 18

    二.基本数据类型

    2.1 整型int

    • 作用:形容年龄,个数,号码等

    • age = 18
      age = int(18)
      

    2.2 浮点型 float

    • 作用:形容身高,体重,薪资.

    • salary = 1.5
      

    2.3 字符串数据类型str

    • 作用:描述性的内容,如姓名,性别,国籍,种族

    • msg1 = '这是一个宋海星说好,刘洋说不好的故事'
      msg2 = "这是一个宋海星说好,刘洋说不好的故事"
      msg3 = '''
      这是一个宋海星说好,刘洋说不好的故事
      '''
      msg4 = """
      这是一个宋海星说好,刘洋说不好的故事
      """
      print(type(msg4))
      
    • 字符串不能存取多个数值,它只能存取一个整体.

    2.4 列表类型 list

    • []内用逗号分隔开多个任意类型的元素

    • 作用:按照位置存放多个值,一般为同一种属性的值.

    • l = [111, 2.3, 'abc', [66, 77, 88]]
      对应的索引值
            0		1	  2		3
      取值的时候可以根据列表的索引去取对应的值
      例:取到77这个值
      ret = l[3][1]
      
    • 将你的兴趣爱好存放到一个列表中

      hobbies = ['read', 'music', 'movie', 'play']
      

    2.5 字典类型dict

    • {}内用逗号分隔开的多个元素,每一个元素的组成都是key:value,其中的value类型可以是任意人性,而key通常都是字符串类型.

    • 作用:按照key存放多个值,key反映的是value的属性.

    • d = {"k1": 111, "k2": 1.3, "k3": "abc", "k4": [1, 2, 3], 'k5': {"a": 1, "b": 2, "k5": 3}}
      
      print(d['k1'])
      print(d["k4"][1])
      print(d['k5']["a"])
      print(d['k5']["k5"])
      
    • 用一种数据类型存一个人信息并取出其中的年龄

    • info = {
          'name': 'JKey',
          "age": 18,
          "gender": 'male',
          "hobby": ['music', 'play', 'eat']
      }
      print(info["age"])
      
    • 存放多个同学的信息

      student_info = [
          {"name": 'JKey', "age": 18, "gender": 'male', "hobby": ['music', 'play', 'eat']},
          {"name": 'liu', "age": 22, "gender": 'male', "hobby": ['music', 'play', 'eat']},
          {"name": 'song', "age": 21, "gender": 'male', "hobby": ['music', 'play', 'eat']},
      ]
      

    2.6 布尔类型

    • 作用:记录真假的俩种状态.

    • z = True
      c = False
      print(type(z))  # <class 'bool'>
      
      print(10 > 1)  # True
      print(10 < 1)  # False
      name = 'jkey'
      print(name == 'jkey')  # True
      

    三 基本运算符

    3.1 算术运算符

    算术运算符只能用来将同数据类型的进行计算

    salary = 3.3
    res = salary * 12
    
    print(10 + 1)  # 11
    print(10 - 3)  # 7
    print(10 * 3)  # 30
    print(10 / 3)  # 3.3333
    print(10 // 3)  # 只保留整数部分
    print(10 % 3)  # 取余数
    print(10 ** 3)  # 10的3次方
    
    print(10 + 3.1)  # 13.1
    print(10 % 3.1)  # 0.634
    

    了解,"+" 和 "*" 也能用作于字符串和列表

    +
    print("abc" + "def")
    print("abc" + 18)
    
    *
    print("abc"*3)
    print("=====================")
    print('hello world')
    print("="*50)
    
    print([1,2,3]+[3,4,5])
    print([1,2,3]*3)
    

    3.2 比较运算符

    x = 10
    y = 10.0
    print(x == y)
    
    m = 10
    n = "10"
    print(m == n)
    print(10 == [1,2,3])  # == 不限类型
    print(10 + [1,2,3])
    
    print(10 == [1,2,3])
    print(10 != [1,2,3])
    
    print(10 > 3.1)
    print(10 >= 3.1)
    print(10 <= 3.1)
    print(10 < 3.1)
    

    注意: "==" 符号俩边可以是不同的数据类型

    了解

    msg1="hello"
    msg2="hez"
    print(msg1 > msg2)
    
    l1=[11,"x","abc","ddd"]
    l2=[11,22,'zz']
    print(l1 > l2)
    
  • 相关阅读:
    2013-11-23 sentence patterns
    面试题 盛水 twitter
    Uva 10025 The ? 1 ? 2 ? ... ? n = k problem
    FTP服务(5)客户连接常见故障现象
    FTP服务(4)基于MySQL数据库认证
    FTP服务(3)实现基于文件验证的vsftpd虚拟用户
    FTP服务(2)实现基于SSL的FTPS
    FTP服务(1)
    Apache httpd服务
    Apache httpd服务——常用配置
  • 原文地址:https://www.cnblogs.com/jkeykey/p/14152219.html
Copyright © 2020-2023  润新知