第八讲 python标识符-命名规则-帮助函数-变量声明-初始化-垃圾回收机制

目录

1.标识符规则

2.help() 的用法

3. 查看python中的所有关键字

4. 开发中,我们通常约定俗称遵守的规则

 5. 变量和简单赋值语句

6. 删除变量

7. 垃圾回收机制(先做了解,后序详解)


1.标识符规则

标识符是用来命名变量、函数、类等实体的名称。标识符必须遵循以下规则:

  • 标识符可以是字母(大小写均可)、数字(但不能以数字开头)和下划线(_)的任意组合,但不能使用标点符号或其他特殊字符。
  • 标识符不能以数字开头。
  • 标识符是区分大小写的,例如,myVarmyvar是不同的标识符。
  • Python的关键字(例如ifelseforwhile等)不能用作标识符。
  • 标识符不能包含空格。
  • 下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如: init 是类的构造函

一些例子符合Python标识符规则的标识符:

  • myVariable
  • snake_case_variable
  • CamelCaseVariable
  • _internal_variable

一些不符合Python标识符规则的标识符:

  • 3variable(以数字开头)
  • my-variable(包含连字符)
  • if(关键字)
  • my variable(包含空格)

2.help() 的用法

help()函数来查看关键字的文档和用法。关键字是Python语言中的一些保留字,具有特殊的意义和用途。

例如,如果你想查看if关键字的文档,可以这样做:

help('if')

3. 查看python中的所有关键字

4. 开发中,我们通常约定俗称遵守的规则

类型

规则

例子

模块和包名

全小写字母,尽量简单。若多个单词之间用下划线

math, os, sys

函数名

全小写字母,多个单词之间用下划线隔开

phone, my_name

类名

首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写

MyPhoneMyClassPhone

常量名

全大写字母,多个单词使用下划线隔开

SPEEDMAX_SPEED

 5. 变量和简单赋值语句

  • 变量是用来存储数据值的标识符。
  • 变量名是一个指向内存地址的符号,通过这个符号可以访问内存中存储的数据。
  • Python是动态类型语言,意味着在为变量赋值时,不需要提前声明变量的类型,解释器会根据赋给变量的值自动推断其类型。
  • 变量的声明和赋值:用于将一个变量绑定到一个对象上,格式 变量名 = 表达式

如:

x = 10

变量名 x 被赋值为整数 10。此时,Python解释器会在内存中分配空间来存储整数值 10,并将变量 x 关联到这个内存地址。之后,我们可以通过变量名 x 来访问这个整数值。

  • 变量在使用前必须先被初始化(先被赋值)
    如下就会报错:说变量a没有被定义

6. 删除变量

删除变量通常是通过 del 关键字来完成的。当你不再需要一个变量时,可以使用 del 关键字将其从命名空间中删除,释放与其关联的内存

x = 10
print(x)  # 输出:10del x
print(x)  # 这将引发 NameError: name 'x' is not defined

7. 垃圾回收机制(先做了解,后序详解)

如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间

Python的垃圾回收机制主要依赖于引用计数和循环垃圾收集两种策略:

  • 引用计数:Python通过引用计数来跟踪对象的引用数量。当一个对象的引用计数降为0时,Python会立即回收该对象所占用的内存。这意味着当没有任何变量指向一个对象时,该对象就会被回收。

  • 循环垃圾收集:虽然引用计数可以很好地处理大多数情况,但是对于循环引用的情况,引用计数就不够了。在循环引用的情况下,对象之间互相引用,导致它们的引用计数永远不会降为0,因此不能被回收。为了解决这个问题,Python还实现了循环垃圾收集器,它会定期检查和回收无法通过引用计数释放的循环引用对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616913.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka学习记录

文章目录 windows单机版kafka搭建步骤主题的增删改查操作消息的生产与消费 Windows集群版kafka搭建步骤 prettyZoo 尚硅谷Kafka教程,2024新版kafka视频,零基础入门到实战 【尚硅谷】Kafka3.x教程(从入门到调优,深入全面&#xff0…

我是如何快速上线项目文档的

Hello , 我是"小恒不会java" 本文适合有使用Markdown,HTML,nginx经验的读者阅读 其中每一个小标题代表作者的突破点,每个技巧都是小tip 说说我的上线流程 使用mkdocs生成模板写入写好的Markdown文件mkdocs build生成静态文件&…

抖音滑块验证码加密的盐的位置

最近更新后之前很容易找到盐的位置的方法变了,抖音特意把盐隐藏起来了 {"reply": "RJC","models": "yAd8rl","in_modal": "DTn0nD2","in_slide": "ou7H0Ngda","move": …

【数据结构与算法】:二叉树经典OJ

目录 1. 二叉树的前序遍历 (中,后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中,后序类似) 这道题的意思是对二叉树进行前序遍历,把每个结点的值都存入一个数组中,并且返回这个数组。 思路&…

内存函数memcpy、mommove、memset、memcmp

目录 1、memcpy函数 memcpy函数的模拟实现 2、memmove函数 memmove函数的模拟实现 3、memset函数 4、memcmp函数 1、memcpy函数 描述: C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。 声明&…

一招将vscode自动补全的双引号改为单引号

打开设置,搜索quote,在结果的HTML选项下找到自动完成,设置默认引号类型即可。 vscode版本:1.88.1, vscode更新日期:2024-4-10

Java | Leetcode Java题解之第28题找出字符串中第一个匹配项的下标

题目&#xff1a; 题解&#xff1a; class Solution {public int strStr(String haystack, String needle) {int n haystack.length(), m needle.length();if (m 0) {return 0;}int[] pi new int[m];for (int i 1, j 0; i < m; i) {while (j > 0 && needl…

ELK企业级日志分析系统以及多种部署

目录 ELK简介 ELK简介 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch&#xff1a;是基于Lucene&#xff08;一个全文检索引…

Vivado Design Suite中的增量实现和增量模式

Vivado Incremental&#xff08;增量&#xff09;是Xilinx FPGA设计工具中的一种功能&#xff0c;它允许对设计的一部分进行修改和重新编译&#xff0c;而不需要对整个设计进行重新编译。这种增量式的方法可以显著减少编译时间&#xff0c;特别是在进行小的修改或迭代开发时。 …

LeetCode18: 四数之和

目录 题目&#xff1a; 题解&#xff1a; 代码&#xff1a; 题目&#xff1a; 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元…

Ubuntu-22.04安装VMware虚拟机并安装Windows10

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、VMware是什么&#xff1f;二、安装VMware1.注册VMware账号2.下载虚拟机3.编译vmmon&vmnet4.加载module5.安装bundle 三、安装Windows101.基础配置2.进阶…

cog predict docker unknown flag: --file

如图&#xff1a; 使用cog predict -i image“link-to-image” 出现docker unknown flag: --file的问题。 解决方法&#xff08;对我可行&#xff09;&#xff1a;切换cog版本。 这个是我一开始的cog安装命令&#xff08;大概是下的最新版&#xff1f;&#xff09;&#xff1…