Day 03 知识点[python程序运行的方式、变量、注释、内存管理、数据类型]
执行Python程序的两种方式
第一种:交互式,在cmd中运行
优点:调试程序方便,直接给出结果缺点:无法保存,关掉cmd窗口数据就消失
第二种:命令行式通过cmd中输入Python3文本
优点:数据可以保存缺点:无法及时得到报错反馈
Python执行程序的三个阶段:
1.启动Python解释器
2.Python3解释器相当于文本编辑器,将文本从硬盘读入内存
3.Python解释器解释执行文件代码,需要注意的是:只有第三个阶段才识别Python语法,才有Python语法这个概念,否则你输入的仅仅是一串普通的字符
变量
1.什么是变量?
变量定义:一种会变化的状态,这个状态可以描述世间万物,描述世间万物的状态
2.Python中人如何定义变量
name='nick'
height=180
weight=140
定义变量名的命名规范
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']
ps:nick_height = 180
ps:NickHeight = 180
常量
定义:固定不变的量
由于Python中没有严格意义上的常量,但都是约定俗成的,可以改,但是最好不要改
PA:FANPING_HEIGHT = 150
注释
作用:取消Python的语法,让#后边的字符变成普通的字符
name='egg_li'
height=180 #身高
weight=140 #体重
#多行注释
'''
这里是注释内容
这里是注释内容
这里是注释内容
'''
内存管理(默写背,考试前背,面试背)
1.引用计数
引用计数是针对变量的值0
name = 'nick' # 引用计数为1,这个变量值被引用多少
name2 = name # 'nick'的引用计数为2
name1 = 'nick1'
del name
# 'nick'的引用计数为1
del name2 # nick的引用计数为0
2.垃圾回收机制
当一个新定义一个变量时,变量名指向该变量值,此时该变量值的引用计数为1,当引用计数为0时,python垃圾回收机制会把这个变量值的内存释放掉。但小整数池不会被回收,小整数池为[-5,256]
3.小整数池
[-5,256]之间的整数由于经常用到,所以在python启动的那一刻,就会开辟一块内存空间放入这些整数,他不会被垃圾回收机制回收
x = 10
y = 10
print(x+10)
print(y+10)
# x=10的10的引用计数为多少,其实为2
定义变量的三个特征
name='egg'
print(name)
print(id(name))
print(type(name))
----执行结果---
egg
1636288722176
<class 'str'>
数据类型的介绍
name = 'fanping'
height = 180
hobby = 'read run basketball fishing'
hobby_list = ['read','run','basketball','finshing']
不同的数据会有不同的数据类型
为了定义不同的数据类型,python提供了下述几个数据类型
1.数字类型
- 整型
作用:描述ID号,银行卡号,年龄,物品个数
定义方式:age=18
方法:+ - * / % //
- 浮点型
作用:薪资,商品价格
定义方式:salary=32.2
方法:+ - - / // %
2.字符串类型
作用:名字,描述类
定义方式:name='egg'
用法:可以拼接
3.列表
定义:[]内使用逗号分隔多个元素,元素可以是任何数据类型
hobby = 'read run basketball fishing'
hobby_list = ['read','run','basketball','fishing']
# 0 1 2 3
# -4 -3 -2 -1
print(hobby_list[0])
print(hobby_list[-1])
4.字典
定义:{}内以 key:value的形式存在{}内,并以逗号切割,然后记住key一般为字符串,并且key具有某种意义,value可以为任意数据类型
wenyi_info_dict = {'name':'wenyi','height':140,'weight':160,'hobby_list':['read','run','fishing']}
print(wenyi_info_dict['hobby_list'][1])
print(type(wenyi_info_dict))
5.布尔数据类型
说明:布尔类型一般不用于打印,定义变量,除了0,None,空False都只带布尔值为True
True or False
Day 03 知识点[python程序运行的方式、变量、注释、内存管理、数据类型]的更多相关文章
- 编程语言、Python介绍及其解释器安装、运行Python解释器的两种方式、变量、内存管理
一.编程语言介绍 1.1 机器语言:直接用计算机能理解的二进制指令来编写程序,直接控制硬件. 1.2 汇编语言:在机器语言的基础上,用英文标签取代二进制指令来编写程序,本质上也是直接控制硬件. 以上2 ...
- Python程序运行流程与垃圾回收机制
Python程序运行流程 Python解释器首先将程序将py文件编译成一个字节码对象PyCodeObject(只存在于内存中).(当这个模块的 Python 代码执行完后,就会将编译结果保存到了pyc ...
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
- Python变量与内存管理
Python变量与内存管理 –与C语言中的变量做对比,更好的理解Python的变量. 变量 变量在C语言中 全局变量:其存放在内存的静态变量区中. 局部变量:代码块中存放在内存的代码区当中,当被调 ...
- python变量的内存管理
python变量的内存管理 一.变量存在了哪里? 先让我们来看一段代码: height = 100 # 定义变量 # print(100) # print会自动帮你创建一个变量100,打印完之后,马上 ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python基础:五、Python程序的编写方式
python程序有两种编写方式: 1. 进入cmd控制台(linux终端),输入python进入编辑模式,这时候我们可以直接编写python程序 2. 也可以在.py文件中编写python代码,通过p ...
- Python程序的编写方式
直接在Python的交互式环境编写代码 现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你 ...
- 关于C、Java、Python程序运行耗时及内存用量
最近没有刷题,而是在PTA找几个题目寻找有关程序输入流问题以及各种语言在运行时对计算机消耗内存的问题, 以免很多同学解题的时候发现自己做的对但是出现运行超时的问题:针对运行内存,肯定用C/C++的同学 ...
随机推荐
- Spring Boot 项目学习 (三) Spring Boot + Redis 搭建
0 引言 本文主要介绍 Spring Boot 中 Redis 的配置和基本使用. 1 配置 Redis 1. 修改pom.xml,添加Redis依赖 <!-- Spring Boot Redi ...
- linux内核内存分配(一、基本概念)
内存分配是Linux比较复杂也是比较重要的部分,这个和ssd驱动很类似:物理地址和虚拟地址的映射关系.下面总结下最近看到的有关内存分配的内容和自己的理解: 1.一致内存访问和非一致内存访问 上图来自& ...
- Bonjour/Zeroconf with Arduino
转自:http://gkaindl.com/software/arduino-ethernet/bonjour Bonjour/Zeroconf with Arduino DownloadVersio ...
- BZOJ 1901 Dynamic Rankings (整体二分+树状数组)
题目大意:略 洛谷传送门 这道题在洛谷上数据比较强 貌似这个题比较常见的写法是树状数组套主席树,动态修改 我写的是整体二分 一开始的序列全都视为插入 对于修改操作,把它拆分成插入和删除两个操作 像$C ...
- 深入了解Spring
1.Bean后处理器 Spring容器提供了一个接口InitializingBean,实现这个接口的bean只要重写afterPropertiesSet()或者在XML中添加init-method属性 ...
- RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第五篇【AppiumLibrary校验函数介绍】
http://blog.csdn.net/deadgrape/article/details/50619050 以上连作者先跪一下方便面,在上一篇中,作者遗漏了两个常用的函数: 1.长按 Long P ...
- mysql数据库优化原则
一.一个例子 数据库需要处理的行数: 189444*1877*13482~~~479亿 如果在关联字段上加上合适的索引: 数据库需要处理的行数:368006*1*3*1~~~110万 MySQL通常是 ...
- 通过meta标签改变浏览器内核做兼容
<meta name="renderer" content="webkit|ie-stand|ie-comp" /> <meta http-e ...
- Chromium网页输入事件捕捉和手势检測过程分析
连续的输入事件可能会产生一定的手势操作.比如滑动手势和捏合手势. 在Chromium中,网页的输入事件是在Browser进程中捕捉的.Browser进程捕获输入事件之后,会进行手势操作检測.检測出来的 ...
- 0x06 倍增
这东西太玄学了我真是不太会... 对于这道例题,很容易看出最大值必然是最大减最小,次大减次小…… 常规的贪心思想,分的个数一样,总长度越大越好.其实我的第一想法是二分右端点..但是只有40,至今没有搞 ...