zoukankan      html  css  js  c++  java
  • 变量、数据类型、python内存管理

    pycharm快捷键

    ctrl + c  复制,  默认复制整行
    ctrl + v 粘贴
    ctrl + x  剪切
    ctrl + a   全选
    ctrl + z  撤销
    ctrl + f  查找
    ctrl + shift + z   反撤销
    
    ctrl + d  复制粘贴选中内容,没有选中默认整行
    ctrl + y  删除整行
    ctrl + backspace   删除一个单词
    ctrl + w  选中一个单词
    ctrl + shift + r  全局搜索
    shift + F10   运行上一个文件
    ctrl + shift + F10  运行当前文件
    shift + enter  进入下一行
    ctrl + /   整体注释
    ctrl + alt + l  格式化代码
    home  回到行首
    end  回到行尾
    

    变量

    什么是变量

    变量: 定义世间万物变化的状态

    IPO

    I --> input --> 输入(变量)

    P --> Process --> 处理

    O --> Output --> 输出

    变量的组成

    1. 变量名:具有描述意义; 接受变量值
    2. 赋值符号:赋值,把变量值传给变量名
    3. 变量值:具体的值

    变量名的规范

    1. 变量名必须要有意义
    2. 变量名由数字、字母、下划线组成,不能以数字开头
    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']
    

    定义变量名的两种方式

    下划线(python推荐使用)

    neo_of_name = 'neo'
    

    驼峰体

    NeoOfName = 'neo'
    

    常量

    常量是指不变化的量(变量名大写)

    这个不变是约定俗成的

    AGE = 19
    AGE = AGE + 1   # 这样做就很沙雕了
    

    python内存管理

    变量存哪了

    当我们在test.py文件里定义一个变量x = 10,单纯这样写只是几个字符而已,只有当python解释器运行时,才有变量这个意义。这个变量的概念是python解释器提供的。

    变量在计算机内存里开辟一个小空间,小空间内存放变量值10,然后内存给这个小空间一个变量名x,x指向10。

    python垃圾回收机制

    x = 10
    x = 11
    

    变量在内存开辟一个小空间,小空间内存放变量值10,变量名x指向10。加上一段代码x = 11,内存会重新开辟一个空间存放11,然后x会指向11,之前x指向10的连接会断掉。这样10就成了垃圾,python会自动处理这个垃圾,释放10的内存。

    name1 = 'rese'
    name2 = name1
    name1 = 'neo'
    

    引用计数

    引用计数针对的是变量值, 变量值的引用次数

    x = 1000   # 1000的引用次数为1
    y = 1000    # 1000的引用次数为2
    del x   # del删除x,1000的引用次数为1
    
    

    当一个变量值的引用计数为0时,会触发垃圾回收机制,之前的值会被回收

    小整数池

    >>> x = 10
    >>> id(10)
    140704061711472
    >>> y = x
    >>> id(y)
    140704061711472
    >>> z = 10
    >>> id(z)
    140704061711472   # 内存地址
    
    >>> x = 1000
    >>> id(x)
    1619602196368  # 
    >>> x = 1000
    >>> id(x)
    1619602196496   # 这里内存地址与之前的不同
    

    python实现int的时候有个小整数池,这是为了避免因创建相同的值而申请重复的内存空间带来的效率问题。

    python解释器会自动定义[-5, 256]之间的 整数池,这是在内存中写死的。这个范围内的整数被全局调用时,永远不会触发垃圾回收机制。

    在pycharm中,这个整数范围是扩大的,它优化了。

    变量的三种打印形式

    age = 20
    # 打印值
    print(age)
    
    # 打印内存地址
    print(id(age))
    
    # 打印数据类型
    print(type(age))
    

    数据类型

    什么是数据类型

    数据类型对变量值做了分类,分成了不同类别

    数字类型

    整型

    作用:描述年龄/id号

    定义方式:

    age = 21
    
    age = int(21)
    

    使用方法:

    x = 2
    y = 1
    
    print(x + y)  # 加
    print(x - y)  # 减
    print(x * y)  # 乘
    print(x / y)  # 除
    print(x % y)  # 取余
    print(x // y) # 取整
    print(x ** y)  # 幂运算
    

    当你需要使用如sin/cos/tan等函数时,怎么办呢?别担心,有方法

    使用cmath模块

    import cmath
    print(cmath.sin(10))
    

    浮点型

    作用:描述薪资

    定义方式:

    salary = 3.2
    salary = float(3)   # 3.0
    

    使用方法:与int整型类似

    逻辑比较

    >>> x = 1
    >>> y = 2
    >>> print(x > y)
    False
    >>> print(x >= y)
    False
    >>> print(x < y)
    True
    >>> print(x <= 1)
    True
    >>> print(x != y)
    True
    >>> print(x == y)
    False
    

    字符串

    作用:描述姓名/性别

    定义方式:

    name = 'cwz'
    
    name = "cwz's name" 
    

    使用方法:

    str1 = 'neo'
    str2 = 'zen'
    print(str1 + ' ' + str2)
    # 打印结果:neo zen
    
    print(str2 * 10)
    # 打印结果:zenzenzenzenzenzenzenzenzenzen
    

    注释

    单行注释

    # 打印12
    # print(12)
    
    • 解释代码什么意思
    • 让后面的代码失效

    多行注释

    用三引号

    ​'''
    写什么东西呢
    ​'''
    

    相当于定义了一个变量不使用

  • 相关阅读:
    hadoop运行mahout问题解决方法
    在cdh5.1.3中在mapreduce使用hbase
    scala-eclipse
    创建cloudera-cdh5本地yum源
    HttpClient 操作总结
    Java NIO 操作总结
    linux 操作总结
    白话机器学习
    Java(jdk1.7) 陷阱
    Weibo Crawler in Action
  • 原文地址:https://www.cnblogs.com/setcreed/p/11493835.html
Copyright © 2011-2022 走看看