zoukankan      html  css  js  c++  java
  • pycharm快捷键的使用、内存管理、变量、数据类型、注释相关笔记

    pycharm快捷键的使用

    ctrl+c复制,默认复制整行

    ctrl+v粘贴

    ctrl+z撤销

    ctrl+x剪切,默认剪切整行

    ctrl+a全选

    ctrl+f查找;选中批量修改

    shift+ctrl+z取消撤销

    ctrl+d复制粘贴选中内容,没有选中默认整行

    ctrl+backspace删除一个单词

    shift+enter换行

    ctrl+shift+r全局搜索

    ctrl+shift+f10运行当前代码

    ctrl+alt+l格式化代码

    ctrl+/整体注释

    home回到首行

    end回到行尾

    ctrl+end回到末尾

    变量

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

    变量名:起到描述作用,接收变量赋值

    赋值符号:赋值

    变量名 赋值符号 变量值

    a=1
    

    变量名命名规则:变量名由数字字母下划线组成,数字不能放最前面。

    python内存管理

    每当给变量名赋值时内存便会开辟一块空间用于存储变量值,当变量值的引用计数为零时,垃圾回收机制会回收这块内存。

    小整数池

    当python解释器启动时,会专门开辟一块内存用于存储[-5,256]

    范围内的整数,这块内存不会被回收。

    引用计数

    一个变量值被赋值给几个变量名,这个变量值的引用计数就是几。

    垃圾回收机制

    1.引用计数

    给对象添加一个引用计数器,每当有一个地方引用,引用计数就会加一,每当减少一个引用,引用计数就会减一,当该计数器的值为零时,表示该对象可以被回收。

    2.标记清除

    Python采用了“标记-清除”(Mark and Sweep)算法,解决容器对象可能产生的循环引用(当两个变量相互引用时它们的引用计数始终不为零)问题。(注意,只有容器对象才会产生循环引用的情况,比如列表、字典、用户自定义类的对象、元组等。而像数字,字符串这类简单类型不会出现循环引用。作为一种优化策略,对于只包含简单类型的元组也不在标记清除算法的考虑之列)

    跟其名称一样,该算法在进行垃圾回收时分成了两步,分别是:

    A)标记阶段,遍历所有的对象,如果是可达的(reachable),也就是还有对象引用它,那么就标记该对象为可达;

    B)清除阶段,再次遍历对象,如果发现某个对象没有标记为可达,则就将其回收。

    3.分代回收

    分代回收是一种以空间换时间的操作方式,Python将内存根据对象的存活时间划分为不同的集合,每个集合称为一个代,Python将内存分为了3“代”,分别为年轻代(第0代)、中年代(第1代)、老年代(第2代),他们对应的是3个链表,它们的垃圾收集频率与对象的存活时间的增大而减小。新创建的对象都会分配在年轻代,年轻代链表的总数达到上限时,Python垃圾收集机制就会被触发,把那些可以被回收的对象回收掉,而那些不会回收的对象就会被移到中年代去,依此类推,老年代中的对象是存活时间最久的对象,甚至是存活于整个系统的生命周期内。同时,分代回收是建立在标记清除技术基础之上。分代回收同样作为Python的辅助垃圾收集技术处理那些容器对象.

    循环引用

    当容器类型中有两个或多个元素相互引用时就会出现循环引用问题,就是它们(容器类元素)的引用计数始终不会为零,这个问题是垃圾回收机制所要解决的最重要的问题。

    循环引用暂时参考如下链接

    循环引用问题

    变量的三种打印形式

    x=1
    print(x)#打印变量值
    print(id(x))#打印变量值的存储地址
    print(type(x))#打印变量值的数据类型
    

    数字类型

    整型(int)浮点型(float)

    i=1#int
    j=1.1#float
    k=int(j)#int
    

    字符串

    就是一串字符,用单引号、双引号、单三引号、双三引号括起来使用。后两者可用于带换行的字符串或多行注释。

    注释

    单行注释

    ''' ''' 或""" """多行注释

  • 相关阅读:
    01--DNS服务器3
    01--DNS服务器2
    装配bean
    实现二级域名
    apache反向代理
    struts拓展restful
    restful是什么
    struts的声明式异常处理
    linux常用命令之压缩打包
    linux常用命令之文件系统
  • 原文地址:https://www.cnblogs.com/ghylpb/p/11492896.html
Copyright © 2011-2022 走看看