zoukankan      html  css  js  c++  java
  • 基础语法-变量

    一、变量

    1.1 什么是变量

    变量:描述变化的世间万物的状态

    • 量:记录现实世界中的状态,让计算机能够像人一样去识别世间万物。

    今天我可能180,明年我是不是可能就是185了(5cm不过分),那这种状态是不是会发生变化。

    • 变:现实世界中的状态是会发生改变的。
    # 身高:160,体重:140,
    height = 160
    print(height)  # 160
    print(160)
    

    1.2 定义变量

    变量的组成(规则):

    变量名(接收变量值) =(赋值符号) 变量值(数值) # 定义变量

    身高 = 180  # 不建议这样做,但是可以这么做(英文差的同学,前期可以这样做)
    print(身高)
    
    weight = 160
    
    name = 'randysun'
    
    

    1.3 命名规范

    1. 变量名必须由数字/字母/下划线_组成

    1. 变量名都具有可读性(意义) 存不是目的,取才是目的
    2. 不要使用关键字(具有某种特殊意义的字符)
    3. 变量名的两种定义方式
    # 1. 变量名必须由数字/字母/下划线_组成
    height_of_randysun = 180  # 下划线只在连接的时候用
    
    # 2. 变量名都具有可读性(意义) 存不是目的,取才是目的
    _ = 180
    print(_)
    
    # 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']
    '''
    
    # 变量名的两种定义方式
    
    height_of_randysun = 180  # 下划线式(使用,约定俗成)
    print(height_of_randysun)
    
    HeightOfRandysun = 180  # 驼峰体,low,c/java
    print(HeightOfRandysun)
    
    

    二、 常量

    常量:变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。

    age = 18  # 变量
    
    age = age + 1
    print(age)
    
    AGE = 18  # 所有字母全大写(常量)
    print(AGE)
    

    三、 变量内存管理

    变量:描述世间万物的动态

    每当定义变量运行程序内存就开辟一个内存空间来存储这个变量,会通过引用计数(针对变量的值),height = 180x = height ,每当引用一次变量height引用计数就会加一,使用del x,就会删除 x 引用计数(进行减一)从而释放x的内存空间,del height, 彻底删除变量在内存中占用的内存,应用计数为零时候,就会出发垃圾回收机制,释放内存的占用[-5,256]小整数池,在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响

    height = 180  # 定义变量
    print(180) # print会自动帮你创建一个变量180,打印完之后,马上释放180的内存空间
    # 定义一个变量,内存就开辟一个内存空间存储这个变量
    # 引用计数(针对变量值)
    # 180的引用计数加1
    
    x = height  # 180的引用计数加1
    
    del x   # 释放的是引用计数,180的引用计数为1
    
    del height # 引用计数为0,
    
    # 引用计数为0时,触发垃圾回收机制,释放内存占用
    
    # [-5,256](小整数池)在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响,适用于jupyter
    # [-5,256]用的比较多
    
    # pycharm中做了优化,间隔时间短的,无论多大,id都一样
    a = 257
    b = 257
    print(id(a))  # 打印内存地址
    print(id(b))  # 打印内存地址
    
    a = 23423423423423423423
    b = 23423423423423423423
    print(id(a))
    print(id(b))
    

    四、变量三个特征

    1. 获取变量值的内存地址,针对变量值
    2. 数据类型,针对变量值
    # 获取变量值的内存地址,针对变量值
    print(id(height))  # 1908245568
    
    # 数据类型,针对变量值
    print(type(height))  # int类型(integer 整型)
    
    name = 'randy'
    print(type(name))  # str类型(string 字符串)
    
    
    # 打印变量值
    print(name)
    
    

    五、花式赋值

    1. 交叉赋值(解压缩)
    2. 保证内存地址不变的情况下修改x和y
    3. 交叉赋值
    # 交叉赋值(解压缩)
    
    height_of_randy,height_of_handsome,heigh_of_laowang=180,160,170
    print(height_of_randy)
    print(height_of_handsome)
    print(heigh_of_laowang)
    
    
    # 保证内存地址不变的情况下修改x和y
    x = 2000
    print('x:',id(x))
    y = 1000
    print('y:',id(y))
    
    
    # 中间变量的思想
    # z = x
    # x = y
    # y = z
    
    
    # 交叉赋值
    x,y = y,x
    
    print('y:',id(y))  # 内存地址相同,值一定相同
    print('x:',id(x))
    
    
    # x = 1000
    # y = 2000
    # print('y:',id(y))  # 值相同,内存地址不一定相同
    # print('x:',id(x))
    
    
    # 链式赋值(值相同才能使用)
    
    a = 10
    b = 10
    c = 10
    print(a,b,c)
    
    a=b=c=10
    print(a,b,c)
    

    六、注释

    • 注释分为单行注释和多行注释
    # 单行注释
    
    # 解释  ;  让代码在python解释器运行的时候不被解释,即让他无意义
    
    # a = 10
    # print(a)
    
    
    picasso_height = 160  # 毕加索的身高,解释代码的意思
    
    
    # 代码块的解释放到代码上面
    
    
    # 打印0-9
    for i in range(10):
        print(i)
    
    # ctrl+/
    
    
    # 多行注释
    '''
    a = 10
    print(a)
    '''
    
    # 不问目的的抄,编程在你敲代码的时候突然顿悟,永远都不会在你思考的时候顿悟
    

    七、执行Python程序的两种方式

    交互式(jupyter)

    优点:运行一句执行一句

    缺点:关闭即消失

    命令行式(pycharm)

    优点:一直保存

    缺点:全部写完才能调试bug

    虽然txt文件可以运行,但尽量用py文件

    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    Commix命令注入漏洞利用
    漏洞扫描
    信息搜集神器
    peepingtom
    自动化安装一些渗透工具的脚本
    MITMF
    Xssf配合metaspolit使用
    Beef安装与简单使用
    Linux安全检测常用方法
    cobaltstrike3.8服务器搭建及使用
  • 原文地址:https://www.cnblogs.com/randysun/p/11264074.html
Copyright © 2011-2022 走看看