zoukankan      html  css  js  c++  java
  • 变量与基本数据类型

    一、变量

    1.什么是变量?

    变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等

    2.为什么要有变量?

    为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
    详细地说:
    程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来

    3.如何用变量

    3.1 变量基本使用

    原则:先定义,后引用
    name = 'egon' # 定义-》存
    print(name) # 引用-》取

    3.2内存管理:垃圾回收机制

    垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,称之为垃圾

    3.2.1引用计数增加

    x = 10 # 10的引用计数为1
    y = x # 10的引用计数为2
    z = x # 10的引用计数为3

    3.2.2引用计数减少

    del x # 解除变量名x与值10的绑定关系,10的引用计数变为2
    print(y)
    del y # 10的引用计数变为1
    print(z)
    z = 12345 # # 10的引用计数变为0
    print(z)

    4.变量有三大组成部分

    4.1:变量名=》是指向等号右侧值的内存地址的,用来访问等号右侧的值

    4.2:赋值符号:将变量值的内存地址绑定给变量名

    4.3:变量值:代表记录的事物的状态

    5.变量名的命名的规则

    原则:变量名的命名应该见名知意

    5.1. 变量名只能是 字母、数字或下划线的任意组合

    5.2. 变量名的第一个字符不能是数字

    5.3. 关键字不能声明为变量名,常用关键字如下

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
    age=18
    print='egon'

    ps:不要用拼音,不要用中文,在见名知意的前提下尽可能短
    mingzi='egon'
    名字='egon'
    print(名字)

    6.变量名的命名风格

    6.1 纯小写加下划线的方式(在python中,关于变量名的命名推荐使用这种方式)

    age_of_alex = 73

    print(age_of_alex)

    6.2驼峰体

    AgeOfAlex = 73

    print(AgeOfAlex)

    #7.变量值三个重要的特征

    name='egon'

    id:反映的是变量值的内存地址,内存地址不同id则不同

    print(id(name))

    type:不同类型的值用来表示记录不同的状态

    print(type(name))

    value:值本身

    print(name)

    #8. is与==

    is:比较左右两个值身份id是否相等

    ==:比较左右两个值他们的值是否相等

    id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
    id相同的情况下,值一定相同,x is y成立,x == y也必然成立

    x='info:Egon:18'
    y='info:Egon:18'
    print(x,y)
    info:Egon:18 info:Egon:18
    print(id(x),id(y))
    4565819264 4566192176

    x == y
    True
    x is y
    False
    '''

    了解:小整数池[-5,256]
    从python解释器启动那一刻开始,就会在内存中事先申请
    好一系列内存空间存放好常用的整数

    m=10
    n=10
    id(m)
    4562619328
    id(n)
    4562619328

    res=4+6
    res
    10
    id(res)
    4562619328

    x=-5
    y=-5
    x is y
    True
    x=-6
    y=-6
    x is y
    False

    x='aaa'
    y='aaa'

    id(x)
    4566200880
    id(y)
    4566200880
    '''

    '''
    x=-6
    y=-6
    print(id(x))
    print(id(y))
    print(x is y)
    '''

    9.常量:不变的量

    注意:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念

    AGE_OF_ALEX = 73 # 小写字母全为大写代表常量,这只是一种约定、规范
    AGE_OF_ALEX = 74
    print(AGE_OF_ALEX)

    二、基本数据类型

    1、数字类型

    1.1 整型int

    作用:记录年龄、身份证号、个数等等

    定义:

    age = 18

    print(type(age))

    1.2 浮点型float

    作用:记录薪资、身高、体重

    定义

    salary = 3.3
    height = 1.87
    weight = 70.3

    print(type(height))

    数字类型的其他使用

    level = 1

    level=level + 1

    print(level)

    print(10 *3)

    print(10 + 3.3) # int与float之间可以相加

    age = 19

    print(age > 18)

    2、字符串类型str

    作用:记录描述性质的状态,名字、一段话

    定义:用引号('',"",''' ''',""" """,)包含的一串字符

    name="egon"

    print(name)

    'name'='egon' # 语法错误,等号左边是变量名,变量名的命名不能有引号

    其他使用:

    字符串的嵌套,注意:外层用单引号,内存应该用双引号,反之亦然

    print("my name is 'egon'")

    print('my name is 'egon'')

    字符串之间可以相加,但仅限于str与str之间进行,

    代表字符串的拼接,了解即可,不推荐使用,因为str之间的

    相加效率极低

    print('my name is '+'egon')

    print('='*20)

    print('hello world')

    print('='*20)

    3、列表:索引对应值,索引从0开始,0代表第一个

    作用:按位置记录多个值(同一个人的多个爱好、同一个班级的所有学校姓名、同一个人12个月的薪资),并且可以按照索引取指定位置的值

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

    ​ 0 1 2 3 4(-1)

    l = [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd']

    print(l[1])

    print(l[-1])

    4.字典类型:key对应值,其中key通常为字符串类型,所以key对值可以有描述性的功能

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

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

    d={'a':1,'b':2}

    print(type(d))

    print(d['a'])

    5 布尔bool

    5.1定义

    is_ok = True

    is_ok = False

    print(type(is_ok))

    5.2作用

    1.用来记录真假这两种状态

    2.通常用来当作判断的条件,我们将在if判断中用到它

    总结:如何选择合适的类型来记录状态

    1、选取的类型是否可以明确标识事物的状态

    2、存不是目的,存的目的是为了日后取出来用,并且方便的用

    3、把自己想象成一台计算机,如果我是计算机,

    我会如何以何种形式把事物的状态记到脑子里

    然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态

  • 相关阅读:
    任正非用人:砍掉高层手脚、中层屁股、基层脑袋、全身赘肉!
    SourceTree的基本使用
    Spring学习(三)
    Spring学习(二)
    Spring学习(一)
    SpringBoot学习(五)
    SpringBoot学习(四)
    SpringBoot学习(二)
    SpringBoot学习(三)
    SpringBoot学习(一)
  • 原文地址:https://www.cnblogs.com/chenyoupan/p/12411240.html
Copyright © 2011-2022 走看看