一.注释

1.什么是注释

  • 注释就是对代码的解释说明,注释的内容不会被当作代码运行

2.为什么要注释

  • 增强代码的可读性

3.怎么用注释?

  • 代码注释单行和多行注释

    1. 单行注释用#号,可以跟在代码的正上方或正后方
    2. 多行注释可以用三对引号(单双都行)""" """
    3. pycharm注释快捷键
      ctrl + ?

4.代码注释的原则:

  1. 不用全部加注释,只需要为自己觉得重要或不好理解的部分加注释即可
  2. 注释可以用中文或英文,但不要拼音

二.变量

1.什么是变量?

​ 变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等

2.为什么要有变量?

​ 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的。

​ 详细地说: 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。

3.怎么使用变量(先定义、后使用)

3.1 变量的定义与使用

变量的定义由三部分组成,如下图

日常生活中:
姓名:Jason
年龄:18
爱好:学习
程序中:
username = 'jason'
age = 18
hobby = 'music'

语法格式
username = 'jason'
变量名 赋值符号 变量值

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例,如下图

底层原理(必会!!!)
遇到赋值符号先看符号右边的再看左边的
age = 18
1.在内存空间中申请一块内存空间存储18
2.将18所在的内存空间地址绑定给变量名age
3.之后如果要访问18就通过变量名age访问即可

通过变量名即可引用到对应的值,用print(age)即可验证

3.2 变量名的命名规范

变量名的命名应该见名知意

如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age

age = 18

如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level

level = 18

1.变量名只能由数字、字母、下划线任意组合
user@name(不对)、_(可以)、pwd_123_aaa(可以)
2.变量名不能以数字开头,下划线建议不要开头因为有特殊含义
3.变量名不能与关键字冲突,比如print就不能是变量名
4.变量名的命名一定要做到见名知意,这个是核心。(重要)

3.3 变量名的命名风格

1.驼峰体

​ 大驼峰 # 所有的单词首字母大写

​ UserNameFromDb

​ 小驼峰 # 第一首字母小写其余首字母大写

​ userNameFromDB

​ JavaScript推荐使用驼峰体

  1. 下划线 # 单词与单词之间的下划线隔开

    ​ user_name_from_db

    python推荐使用下划线

3.4 变量三要素

1.变量的值
2.变量的内存地址
3.变量的数据类型

name = 'jason'
print(name) # 值
print(id(name)) # 一串数字 相当于是内存地址编号
print(type(name)) # 数据类型 <class 'str'>

一个变量名只能指向一个内存地址
一个内存地址可以有多个变量名指向

三. 常量

3.1 什么是常量?

常量是值在程序运行过程种不会改变的量

3.2 为什么要有常量?

在程序运行过程种,有些值是固定的、不应该被改变的,比如圆周率3.1415926......

3.3 怎么使用常量

在python中没有真正意义上的常量 我们墨守成规的将全大写的变量看成是常量

HOST = '127.0.0.1' # 一般情况下在配置文件中使用较多

在其他编程语言中是存在真正意义上的常量 定义了就无法修改
const pi = 3.14 # 定义常量
pi = 4 # 不支持修改

四. 垃圾回收机制

4.1 什么是垃圾回收机制?

垃圾回收机制(简称GC)是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间

4.2 为什么要用垃圾回收机制?

程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要且繁杂的事情,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。

4.3 垃圾回收机制原理分析

  1. 引用计数

    内存中变量值身上有几个变量名绑定引用计数就是几,只要为0就是垃圾

  2. 标记清除

    当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
    并打上标记 之后一次性清除掉标记的数据

  3. 分代回收

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

python的注释、变量、常量基础的更多相关文章

  1. python 基础之注释变量常量

    一:注释 注释: 就是对代码的解释 方便大家阅读代码 1.注释的分类 (1)单行注释 #  在python中在行首添加一个#号就将这一行进行注释 #单行注释: 用#开头,后面跟上任意字符串 #pyth ...

  2. Python入门 .变量 常量 基础数据类型 用户输入 流程控制语句 小练习题

    # 2.name = input(“>>>”)通过代码来验证name变量是什么数据类型?--str name = input(">>>") pr ...

  3. Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)

    Python的变量和数据类型 1 .python的变量是不须要事先定义数据类型的.能够动态的改变 2. Python其中一切皆对象,变量也是一个对象,有自己的属性和方法 我们能够通过 来查看变量的类型 ...

  4. 【python基础】第04回 变量常量

    本章内容概要 1. python 语法注释 2. python 语法之变量常量 3. python 基本数据类型(整型(int),浮点型(float),字符串(str)) 本章内容详解 1. pyth ...

  5. Python第一讲以及计算机基础

    本周课程安排 python基础(五天) 下周课程安排 tableau图形化表制作 下下周课程安排 spss 今日内容概要 计算机发展史 计算机主要硬件 编程与编程语言 python解释器及IDE编辑器 ...

  6. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  7. 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

    Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...

  8. java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)

    Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...

  9. pycharm的基本使用 、 Python的注释语法,变量,常量,垃圾回收机制,数据类型

    1.文件路径要注意 我把文件放在了D盘,如下图:你们可以根据自身情况设置 2.python环境要选择本地下载好的 如下图: 点击本机存在的环境,如果提示NO interpr,就点击第二步 如果还是没有 ...

  10. Python基础部分:5、 python语法之变量与常量

    目录 python语法之变量与常量 一.什么是变量与常量 1.什么是变量 2.什么是常量 二.变量的基本使用 1.代码中如何记录事物状态 2.变量使用的语法结构与底层原理 3.变量名的命名规范 4.变 ...

随机推荐

  1. VUE3 之 列表动画 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:可以为别人解决痛点的产品就是好产品. 言归正传,今天我们来聊聊 VUE 的列表动画. 2. 列表动画 2.1  列表中增加和删除元素 <style> .my-ite ...

  2. spring事务详解(基于注解和声明的两种实现方式)

    Spring事务( Transaction ) 事务的概念 事务是一些sql语句的集合,作为一个整体执行,一起成功或者一起失败. 使用事务的时机 一个操作需要多天sql语句一起完成才能成功 程序中事务 ...

  3. Java基础——StringBuilder的添加与反转方法

    StringBuilder添加与反转方法 方法 返回对象 public StringBuilder append(任意类型) 添加任意参数数据,并返回对象本身,注意:返回的是对象本身,则调用过appe ...

  4. Django安装和web框架原理

    Django安装和web框架原理 在PyCharm中安装 在cmd中输入 django-admin startproject 项目名 如果报错 不是内部或外部命令,也不是可运行的程序 需要添加环境变量 ...

  5. phpcms 2008 变量覆盖漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 3.点击新建项目按钮,弹出对画框中选择(C:\ ...

  6. xx局点FusionCloud6.3type1修改配额占用

    问题描述: SC中配额占用跟实际资源使用不一致 SC界面显示参数: 实例已使用:35 内存已使用:440G VCPU已使用:220 云硬盘已使用:11850G/56个 SC实际统计参数: 实例已使用: ...

  7. case 函数语法与使用

    case 函数是聚合函数的一种,为统计函数. case表达式: CASE selector WHEN value1 THEN action1; WHEN value2 THEN action2; WH ...

  8. Spring 和 SpringBoot 有什么不同?

    Spring 框架提供多种特性使得 web 应用开发变得更简便,包括依赖注入.数据绑定.切面编程.数据存取等等. 随着时间推移,Spring 生态变得越来越复杂了,并且应用程序所必须的配置文件也令人觉 ...

  9. SpringMvc怎么和AJAX相互调用的?

    通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象.具体步骤如下 : (1)加入Jackson.jar (2)在配置文件中配置json的映射 (3)在接受Ajax方法 ...

  10. 面试问题之C++语言:C与C++的区别

    C是C++的基础,C++语言和C语言在很多方面是兼容的. C是结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出或实现过程(事务 ...