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
字符串
就是一串字符,用单引号、双引号、单三引号、双三引号括起来使用。后两者可用于带换行的字符串或多行注释。
注释
单行注释
''' ''' 或""" """多行注释
pycharm快捷键的使用、内存管理、变量、数据类型、注释相关笔记的更多相关文章
- Day 03 知识点[python程序运行的方式、变量、注释、内存管理、数据类型]
执行Python程序的两种方式 第一种:交互式,在cmd中运行 优点:调试程序方便,直接给出结果 缺点:无法保存,关掉cmd窗口数据就消失 第二种:命令行式通过cmd中输入Python3文本 优点:数 ...
- Python内存管理以及数据类型
一.内存管理 1.Cpython解释器的垃圾回收机制 什么是垃圾:当一个值身上没有绑定任何变量名(该值的引用计数=0)时,该值就是一个垃圾. Cpython解释器就会自动回收这样的垃圾. #引用计数增 ...
- python常量 变量 数据类型 注释 交互 if语句
1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...
- 变量、数据类型、python内存管理
pycharm快捷键 ctrl + c 复制, 默认复制整行 ctrl + v 粘贴 ctrl + x 剪切 ctrl + a 全选 ctrl + z 撤销 ctrl + f 查找 ctrl + sh ...
- python-面试常用 --变量、内存管理(小整数池,引用计数)
执行Python程序的两种方法 第一种:交互式(jupyter就是对这种进行了封装) 优点:直接给出结果 缺点:无法保存 第二种:命令行式,通过Python解释器输入文本(pycharm对这种进行了封 ...
- 变量 + 数据类型(数字 + 字符串)(day03整理)
目录 一.上节课回顾 四 编程语言分类 (一) 机器语言 (二)汇编语言 (三) 高级语言 (四) 网络瓶颈效应 五.执行python程序两种方式 (一) 交互式(jupytre) (二) 命令行式( ...
- PHP内核(一)内存管理
本文链接:http://www.orlion.ml/tag/php-internal/ 一.内存管理基础 用c语言开发时,开发者要手动进行内存管理.PHP经常作为web服务器的模块,内存管理与预防内存 ...
- iOS 进阶—— iOS 内存管理
1 似乎每个人在学习 iOS 过程中都考虑过的问题 alloc retain release delloc 做了什么? autoreleasepool 是怎样实现的? __unsafe_unretai ...
- 启动期间的内存管理之bootmem_init初始化内存管理–Linux内存管理(十二)
1. 启动过程中的内存初始化 首先我们来看看start_kernel是如何初始化系统的, start_kerne定义在init/main.c?v=4.7, line 479 其代码很复杂, 我们只截取 ...
随机推荐
- centOS7杀死进程命令
查看当前所有正在运行的进程,可以看到80端口被httpd占用了(80端口希望分配给nginx使用,而不是httpd) netstat -tpnul 这里以杀死httpd进程为例: 先查看 httpd ...
- Linux_指令杂烩
目录 目录 指令集合 常用于脚本的指令 查看变量的指令 监控命令 除了root用户的其他用户不能login 重定向 grep 过滤文件内容 vim预设定 系统在启动时要依次运行4个脚本 归档压缩文件互 ...
- 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_18maven的java工程取mysql数据库
使用maven创建ava功能,然后读取数据库做一个测试. 我们做的持久层,没有和页面有交互,只做一个java工程就可以了 创建的是java工程,用不用骨架都可以.这里不使用骨架,直接next 直接fi ...
- Selenium学习之==>ActionChainsApi接口详解
ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的才会元素出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了Ac ...
- 使用事件CreateEvent注意事项 多进程同步的方法
https://www.cnblogs.com/aakuang/p/3514658.html 使用事件CreateEvent注意事项 HANDLECreateEvent( LPSECURITY_A ...
- SAMBA服务和FTP服务讲解
rz sz window和Linux之间小文件的传输 yum install lrzsz -y rz:window文件传送到linux中 sz:把Linux文件传送到window 防火墙: 立即关闭但 ...
- 工作中经常用到 github 上优秀、实用、轻量级、无依赖的插件和库
原文收录在 GitHub博客 ( https://github.com/jawil/blog ) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴. 由于gith ...
- cocos2dx基础篇(9) 滑块控件CCControlSlider
[3.x] (1)去掉 “CC” (2)对象类 CCObject 改为 Ref (3)CCControlEvent 改为强枚举 Control::EventType (4)CCControlEvent ...
- 【Linux开发】如何更改linux文件的拥有者及用户组(chown和chgrp)
本文整理自: http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/ http://ydlmlh.iteye.c ...
- [Git] 022 没有人是一座孤岛
0.回顾 [Git] 015 远程仓库篇 第二话 关联与推送 的 "2" 中介绍过 git remote git remote -v 与 "status" 不同 ...