Python基础A(执行方式---注释)
执行Python程序的两种方式
交互式(jupyter)
优点:运行一句,执行一句
缺点:关闭即消失
命令行式(pycharm)
优点:可以一直保存下去
缺点:全部写完才能调试bug
虽然txt问价可以运行,但尽量用.py文件
变量
什么是变量
简单来说,世间万物所有的变化的状态都可以称为变量。
为什么要有变量
对于世间万物,变化才是最大的不变,因此一定要有一个变量来描述世间万物。而计算机里面的程序的运行过程也就是一系列状态的更替变化,故也需要有一变量来描述这种变化。
定义变量
name = 'nick'
age = 19
......
变量的组成
变量主要由变量名、赋值符号和变量值组成。
变量名:用来引用变量值,指向变量值,相当于变量值的门牌号。
赋值符号用于赋值。
变量值:存放数据,用来记录现实世界中的某种状态。
age = 18
name = 'nick'
print(age)
print(name)
变量名的命名规范
定义一个变量其实就是在记录现实世界中的状态,并且存永远不是目的,取才是目的。需要满足以下三个规范:
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']
变量名的两种风格
驼峰体
AgeOfNick = 19
下划线
age_of_nick
常量
常量就是全大写的变量名,常量可以修改,但是没有意义。
AGE_OF_NICK = 19
Python变量内存管理
变量存哪了
x = 10
上面这一句执行完,内存给变量值分配一块小空间用于保存变量值,然后变量名指向该变量值,即x指向存在内存中的10.
Python垃圾回收机
x = 10
x = 11
执行上面两段代码后,X由原来指向10改为现在指向11,故原来在内存中的变量值10没有变量名,所以会被当做垃圾进行回收。
引用计数
x = 10 # 10引用计数加1为1
y = x # 10引用计数加1为2
x = 11 # 10引用计数减1为1;11引用计数加1为1
del y # 10引用计数减1为0,触发python垃圾回收机制,python清理10的内存占用
小整数池
范围在[-5, 256]内的小整数,由于经常会被用,为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。
在pycharm中运行python程序时,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究。
变量的三个特征
获取变量值的内存地址,针对变量值
获取变量值的数据类型,针对变量值
打印变量值
height = 180
print(id(height))
print(type(height))
print(height)
花式赋值
链式赋值
a = b = c = d = 10
print(f'a:{a}, b:{b}, c:{c}, d:{d}')
输出:a:10, b:10, c:10, d:10
交叉赋值
自动创建中间变量,用完后主动释放空间
x = 100
y = 200
x, y = y, x
print(f'x:{x} y:{y}')
输出:x:200 y:100
注释
单行注释:
#号
ctrl+/ 选中多行进行注释/反注释
多行注释
用三引号
'''
三引号可以多行注释,可以换行
'''
添加注释的原则
- 在有需要的地方加注释,一般建议在代码末尾,当是一个模块时在代码首
- 注释用中英文
Python基础A(执行方式---注释)的更多相关文章
- Python程序的执行方式
Python代码有两种执行方式: 一.文件执行 二.交互器执行(推荐) 一.文件执行 1.用 notepad++ 或 Sublime Text,甚至 写字本创建一个文件. 2.比如:print('He ...
- Python文件中执行脚本注释和编码声明
在 Python 脚本的第一行经常见到这样的注释: #!/usr/bin/env python3 或者 #!/usr/bin/python3 含义 在脚本中, 第一行以 #! 开头的代码, 在计算机行 ...
- Python基础:七、注释
有时候我们写的东西不一定都是给用户看的,或者不希望解释器执行(方便自己,方便他人),我们可以使用#来注释掉代码被注释的内容是不会执行的,可以方便后面的程序员来拜读你的代码. 1. 单行注释:#被注释的 ...
- Python基础---控制执行流程
一.if语句 1.if语句 作用:让程序根据条件选择性地执行某条语句或某些语句 说明:if语句又叫条件语句,也叫分支语句 语法: if 真值表达式1: 语句块1 elif 真值表达式2: 语句块2 . ...
- Python基础之赋值与注释
目录 1. 花式赋值 1.1 链式赋值 1.2 交叉赋值 1.3 交叉赋值(解压缩) 2. 注释 2.1 单行注释 2.2 多行注释 1. 花式赋值 1.1 链式赋值 a = 10 b = 10 c ...
- python基础之标识符、注释与变量
一.注释 1.作用:注释是用来解释和说明代码的. 2.分类:注释可以分为单行注释和多行注释 2.1.单行注释:在编写的代码或文字前加上"#",表示单行注释 1 #我是单行注释 2 ...
- Python基础初识
一.安装 暂时没空写,预留 二.python基础初识 2.1 注释 当行注释:# 被注释内容 多行注释:'''被注释内容''',或者"""被注释内容"" ...
- Python 基础知识 (1) 持续更新
(1)数字和表达式 当进入Python交互式的时候,Python就可以直接当成计算机使用 如 >>> 2 + 2 4 但是 当 1个整数 和 另外一个整数 相除的时候,计算的结果,只 ...
- python学习(一):python基础
python两种执行方式: python解释器:py文件路径 python进入解释器:实时输入并获取执行结果 解释器路径: 在linux系统中,python文件在头部加上#!/usr/bin/env ...
随机推荐
- [******] java多线程连续打印abc
题目描述 建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 5种方法 使 ...
- torch_09_GAN
1.生成对抗网络 让两个网络相互竞争,通过生成网络来生成假的数据,对抗网络通过判别器判别真伪,最后希望生成网络生成的数据能够以假乱真骗过判别器 2.生成模型 就是‘生成’样本和‘真实’的样本尽可能的相 ...
- 【javascript】判断是否为正整数
function isNormalInteger(str) { var n = Math.floor(Number(str)); return n !== Infinity && St ...
- loonflow 工单系统
该项目是基于django的工作流引擎,工单.项目托管在 Github 一.安装基础环境 1.1 安装python 和 pip yum install -y epel-release yum insta ...
- CentOS7 安装nginx-1.14.0
nginx源码包:http://nginx.org/en/download.html 1.安装gcc gcc是用来编译下载下来的nginx源码 yum install gcc-c++ 2.安装pcre ...
- R与金钱游戏:均线黄金交叉2
从上一篇分析已经得知均线黄金交叉原则并不适用于震荡期,那有什么办法可以规避震荡期呢或者说有什么办法可以减少无脑跟的损失?我们继续玩一下. Required Packages library(quant ...
- 《跟唐老师学习云网络》 -第4篇 router路咋走啊【华为云技术分享】
[摘要] 好了,到这里至少你应该能看懂路由表信息了.给你一个目的IP,你也应该知道它会使用哪一条路由了. 路怎么走就看骚年你了~ 一.路由 其实关于网络大家遇到最多的问题就是:卧 槽,为什么不通啊! ...
- 【Hyper-V】尝试启动选定的虚拟机时出错 32788
错误描述 遇到问题如往常一般搜索了一番(好久没搜索问题了)忽然发现,现在百度文章质量较前几年差太多...怪不得那么多人转搜狗搜索(搜微信文章) PS:有些说是目录权限问题,有些是说虚拟磁盘删了重新加载 ...
- JavaScaript学习笔记第(一)
js由三部分组成,分别是ECMAScript.DOM.BOM 其中ECMAScript规定了js的语法 js是一门解释型语言.脚本语言.动态类型语言.基于对象语言 书写js代码和CSS一样,有三个书写 ...
- c#在sqlserver中使用EF框架
vs2017,sqlserver2017(localdb)调试通过.在sqlserver中创建数据库d1,表t1如下: 录入数据如下: 在vs新建任意项目,此处以控制台为例.添加数据模型Model1: ...