执行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+/ 选中多行进行注释/反注释

多行注释

​ 用三引号

'''
三引号可以多行注释,可以换行
'''

添加注释的原则

  1. 在有需要的地方加注释,一般建议在代码末尾,当是一个模块时在代码首
  2. 注释用中英文

Python基础A(执行方式---注释)的更多相关文章

  1. Python程序的执行方式

    Python代码有两种执行方式: 一.文件执行 二.交互器执行(推荐) 一.文件执行 1.用 notepad++ 或 Sublime Text,甚至 写字本创建一个文件. 2.比如:print('He ...

  2. Python文件中执行脚本注释和编码声明

    在 Python 脚本的第一行经常见到这样的注释: #!/usr/bin/env python3 或者 #!/usr/bin/python3 含义 在脚本中, 第一行以 #! 开头的代码, 在计算机行 ...

  3. Python基础:七、注释

    有时候我们写的东西不一定都是给用户看的,或者不希望解释器执行(方便自己,方便他人),我们可以使用#来注释掉代码被注释的内容是不会执行的,可以方便后面的程序员来拜读你的代码. 1. 单行注释:#被注释的 ...

  4. Python基础---控制执行流程

    一.if语句 1.if语句 作用:让程序根据条件选择性地执行某条语句或某些语句 说明:if语句又叫条件语句,也叫分支语句 语法: if 真值表达式1: 语句块1 elif 真值表达式2: 语句块2 . ...

  5. Python基础之赋值与注释

    目录 1. 花式赋值 1.1 链式赋值 1.2 交叉赋值 1.3 交叉赋值(解压缩) 2. 注释 2.1 单行注释 2.2 多行注释 1. 花式赋值 1.1 链式赋值 a = 10 b = 10 c ...

  6. python基础之标识符、注释与变量

    一.注释 1.作用:注释是用来解释和说明代码的. 2.分类:注释可以分为单行注释和多行注释 2.1.单行注释:在编写的代码或文字前加上"#",表示单行注释 1 #我是单行注释 2 ...

  7. Python基础初识

    一.安装 暂时没空写,预留 二.python基础初识 2.1 注释 当行注释:# 被注释内容 多行注释:'''被注释内容''',或者"""被注释内容"" ...

  8. Python 基础知识 (1) 持续更新

    (1)数字和表达式 当进入Python交互式的时候,Python就可以直接当成计算机使用 如 >>> 2 + 2 4 但是 当 1个整数 和 另外一个整数 相除的时候,计算的结果,只 ...

  9. python学习(一):python基础

    python两种执行方式: python解释器:py文件路径 python进入解释器:实时输入并获取执行结果 解释器路径: 在linux系统中,python文件在头部加上#!/usr/bin/env ...

随机推荐

  1. Spring Boot 知识笔记(定时任务与异步)

    一.定时任务 1.启动类里面增加注入 @SpringBootApplication //@SpringBootApplication = @Configuration+@EnableAutoConfi ...

  2. There is no getter for property named 'id' in 'class java.lang.Integer

    There is no getter for property named 'id' in 'class java.lang.Integer 问题描述: 使用mybatis传入参数, 当参数类型是St ...

  3. VUE的$refs和$el的使用

    ref 被用来给元素或子组件注册引用信息 ref 有三种用法: 1.ref 加在普通的元素上,用this.$refs.(ref值) 获取到的是dom元素 2.ref 加在子组件上,用this.$ref ...

  4. axios源码入口以及公用方法

    axios学习笔记(公用方法) 源码地址 找到入口文件 axios/lib/axios.js var utils = require('./utils'); var bind = require('. ...

  5. gitlab 账号

    gitlab 账号 国外版-比较慢 https://gitlab.com/hgnulb 国内版-比较快 https://git.lug.ustc.edu.cn/hglibin github账号 htt ...

  6. Redis(八) LRU Cache

    Redis(八)-- LRU Cache 在计算机中缓存可谓无所不在,无论还是应用还是操作系统中,为了性能都需要做缓存.然缓存必然与缓存算法息息相关,LRU就是其中之一.笔者在最先接触LRU是大学学习 ...

  7. 检测代码潜在bug和质量之SonarQube

    参数使用 项目分析参数可以在多个地方设置,继承关系如下: 全局分析参数,通过Web UI设置,作用于所有项目(配置–>通用–>通用中设置) 项目分析参数,通过WebUI设置,覆盖全局参数( ...

  8. DjangoDRF之视图总结

    思维导图xmind文件:https://files-cdn.cnblogs.com/files/benjieming/DRF%E6%A8%A1%E5%9D%97%E4%B9%8B%E8%A7%86%E ...

  9. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  10. sklearn聚类评价指标

    sklearn中的指标都在sklearn.metric包下,与聚类相关的指标都在sklearn.metric.cluster包下,聚类相关的指标分为两类:有监督指标和无监督指标,这两类指标分别在skl ...