zoukankan      html  css  js  c++  java
  • 【2020Python修炼记3】Python语法入门—变量

    一、葵花宝典:

    学习新知识的【灵魂三问】

    + what -XXX是什么?

    遇到新名词,先从字面意思下手,提取其中的关键词,拆分解释。
    例如:变量,会变的量……

    + why -为什么要有它,有啥用?

    一种事物的存在,即有其理由。
    为什么要有它,用它来做什么?
    编程语言是由人类创造,用来控制计算机运行操作的一系列指令。指令中的规则,是人为制定的,因此必定是为了满足某个需求创造的。
    例如:变量,是用来存放数据的,就像一个个容器,装着程序中所需要使用的东西。

    + how -怎么使用它?

    需要的时候,就去使用。
    实践出真知。

    知道what+why,是实现how的前提。如何更好地实现how,则需要做到融会贯通,熟能生巧。
    台上一分钟,台下十年功。

    二、变量和常量

    1、变量

    (1)什么是变量

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

    (2)为什么要有变量,变量的作用

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

    (3)如何使用变量

    +变量基本使用

    原则:先定义,后引用

    name = 'egon' # 定义-》存
    print(name) # 引用-》取
    age = 18 >>> print(age)

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

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

    引用计数增加:

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

    引用计数减少:

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

    +变量有三大组成部分:

    I:变量名:是指向等号右侧值的内存地址的,用来访问等号右侧的值
    II:赋值符号:将变量值的内存地址绑定给变量名
    III:变量值:代表记录的事物的状态
    eg:z = 12345

    +变量命名规则和风格

    ++命名规则

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

    三大主要规则:
    =变量名只能是字母、数字或下划线的任意组合
    =变量名的第一个字符不能是数字
    =关键字不能声明为变量名,常用关键字如下:

    ['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(名字)

    ++命名风格

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

    age_of_alex = 73
    print(age_of_alex)

    +++驼峰体
    栗子2:

    AgeOfAlex = 73
    print(AgeOfAlex)

    +变量的三个重要特征

    ++三大特征——id,type,value

    栗子:

    name='egon' #id:反映的是变量值的内存地址,内存地址不同id则不同
    print(id(name)) #type:不同类型的值用来表示记录不同的状态
    print(type(name)) #value:值本身
    print(name)

    ++ 区分 is ,==

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

    ps:
    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

    ** ps: pyCharm软件和Python解释器的程序运行结果有时会不同**

    就上一个例子再次在pyCharm软件中运行,结果如下:

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

    为什么x和y的id会一样呢?因为pyCharm软件在执行程序时,会对程序进行优化。
    一般pyCharm软件是用于编写程序,程序的运行结果,仍应以Python解释器的程序运行结果为准。

    -----is 这个方法默认提取出id进行比较的,你这么输,就相当于提取这个变量值id的id,

    ++小整数池[-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)

    2、常量

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

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

  • 相关阅读:
    mysql报错排查总结
    java设计模式--外观模式
    java设计模式--策略模式
    java设计模式--策略模式
    java设计模式--简单工厂
    java设计模式--简单工厂
    国外有哪些比较好的IT社区
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Fiddler环境配置教程
    Fiddler+Jmeter+断言详细教程
  • 原文地址:https://www.cnblogs.com/bigorangecc/p/12407797.html
Copyright © 2011-2022 走看看