Python学习(四)之Python3中的注释、变量。

本文详细介绍了Python3中的注释,包括其作用和分类。接着深入探讨了变量的概念,包括变量的定义、命名规则、类型以及变量与内存地址的关系。通过实例解析了Python中的动态类型特性,并介绍了id()函数在查看对象内存地址上的应用。

一、注释

1、注释的作用

在程序中对某些代码进行标注说明,大大增强程序的可读性.

2、注释的分类

注释分为两类:单行注释多行注释

  • 单行注释:只能注释一行内容,快捷键ctrl+/
# 注释内容
  • 多行内容:可以注释多行内容,一般用在注释一段代码的情况下
"""
   第一行注释
   第二行注释
"""'''
   第一行注释
   第二行注释
'''

二、变量

1、变量的定义

变量就是一个存储数据时当前数据所在的内存地址的名字而已。

  • 举个例子:就像在图书馆中,图书管理员提前将书放到固定位置,并且对这个位置进行编号,我们寻找自己需要的书籍的时候,只需要在图书馆中按照这个编号查找指定的位置。这个编号其实就是把书籍存放的书架位置起了名字,方便后期查找。
    在这个例子中,书就是数据,所在的书架位置就是数据所在的内存地址,而编号就是名字。这个名字就是变量。

在这里插入图片描述

2、定义变量

语法:变量名 =
  • 变量名自定义要满足标识符命名规则。

等号=用来给变量赋值。等号=运算符左边是一个变量名,等号=运算符右边是存储在变量中的值。

Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

  • Python允许你同时为多个变量赋值。 例如:
a = b = c = 1 # 创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
  • 也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "ranran" # 两个整型 1 和 2 分别分配给变量 a 和 b,字符串对象 “ranran” 分配给变量 c。
2.1 标识符

标识符命名规则是python中定义各种名字的时候的统一规范,具体如下:

  • 数字字母下划线组成。
    • 注意:单独的下划线_是一个特殊变量,用于表示上一次运算的结果
  • 不能数字开头。
  • 变量名不能和系统内置关键字重名。
  • 严格区分大小写。

系统内置关键字在这里插入图片描述

2.2 命名习惯
  • 见名知义。
  • 大驼峰:每一个单词的首字母都大写,例如:FirstName ,LastName
  • 小驼峰:第二个单词的首字母大写,例如:firstName, lastName
  • 下划线:例如 :first_name

3、变量的类型

在python中,定义变量的时候,不需要指定变量的类型

类型含义
str字符串类型
int整型
bool布尔型,真:True 假:False
float小数类型,浮点数

在这里插入图片描述

  • 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
  • 在Python中赋值语句=不等同于数学中的=。赋值语句是先计算等号右边的值,然后将其赋值给等号左边。
    这种 变量本身类型不固定的语言称之为动态语言
    静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。 例如java。

在这里插入图片描述

例如Java是静态语言,赋值语句如下:

int a = 123; // a是整数类型的变量
a = "ABC"; //错误:不能把字符串赋给整型变量

4、变量和地址的关系

Python中采用基于值的内存管理方式,不同的值分配不同的内存空间。当给变量赋值时,Python解释器为该值分配一个内存空间,而变量则指向该空间。
当变量的值被改变时,改变的不是该内存空间的内容,而是改变了变量的指向关系,使变量指向另一内存空间,可以理解为:Python变量并不是某一固定内存单元的标识,而是对内存中存储的某个数据的引用,这个引用是动态改变的。

Python具有自动内存管理功能,对于没有任何变量指向的值(垃圾数据),Python系统自动将其删除。

  • 例如:x从指向12转向3.14后,数值12变成了没有变量引用的垃圾数据,Python会回收垃圾数据的内存单元,以便提供给别的数据使用。这就是垃圾回收,也可以用del语句删除一些对象的引用。
  • 当我们定义a = 'ABC'变量时,Python解释器干了两件事:在内存中创建了一个’ABC’的字符串;在内存中创建了一个名为a的变量,并把它指向’ABC’。

5、Python的id()函数可以查看返回对象的内存地址

Python解释器会为每个出现的对象分配内存单元,即使他们的值相等,也会这样分配。

  • 例如:执行a=1.1,b=1.1,会先后为1.1这个float类型对象分配内存单元,然后将a和b分别指向这两个对象,所以a和b执行的不是同一对象。

在这里插入图片描述

但是为了提高内存利用效率对于一些简单的对象,如数值较小的整形int对象,Python采取重用对象内存的办法,不会两次为其分配内存单元,而对于较大的数值,情况就跟前面的一样了。

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值