一.注释

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. Go值类型和引用类型+作用域+空白标识符+常量

    值类型和引用类型 所有像 int.float.bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值: 当使用等号 = 将一个变量的值赋值给另一个变量时,如:j ...

  2. 两个宝藏|关于我在github上冲浪时的一个小技巧。

    你好呀,我是歪歪. 前几天在 github 上冲浪的时候,发现了两个宝藏东西. 我也不藏着掖着了,拿出来给大家分享一下. 这两个宝藏是关于 arthas 和 SOFARegistry 的,这两个东西都 ...

  3. pycharm远程调试、开发(详细操作)

    如果仅是远程开发,新建 ssh Interpreter 并 apply tools -> deployment -> browser remote host 即可 1.服务器侧准备 准备调 ...

  4. centos7使用chrony同步阿里云时间

    1.yum -y install chrony2.cp /etc/chrony.conf /etc/chrony.conf.bak3.sed -i '/^server/s/^/#/g' /etc/ch ...

  5. 集合 copy

    #集合的创建 # set = set(["barry",1,2]) # print(set) # set1 = {1,2,3} #集合的增 # set1 = {'alex','wu ...

  6. Django中ORM对数据库的增删改查

    Django中ORM对数据库数据的增删改查 模板语言 {% for line in press %} {% line.name %} {% endfor %} {% if 条件 %}{% else % ...

  7. .htaccess文件构成的PHP后门

    1..htaccess文件 2.文件上传绕过 一般.htaccess可以用来留后门和针对黑名单绕过 创建一个txt写入(png解析为php) AddType application/x-httpd-p ...

  8. web安全常用端口

    21 FTP 22 SSH 23 Telent 25 SMTP 53 DNS 80 HTTP 135 139 443 HTTPS 445 SMB 1433 SQLSERVER 1521 ORCAL 3 ...

  9. 文字图片在wps中清晰化方法

    在wps中双击图片出属性,然后再选择文字增强.选择对比增加即可.

  10. 去掉一个Vector集合中重复的元素?

    Vector newVector = new Vector();For (int i=0;i<vector.size();i++){Object obj = vector.get(i);     ...