-
Java访问控制修饰符详解
所属栏目:[语言] 日期:2022-07-08 热度:193
在 Java 语言中提供了多个作用域修饰符,其中常用的有 public、private、protected、final、abstract、static、transient 和 volatile,这些修饰符有类修饰符、变量修饰符和方法修饰符。本文将详细介绍访问控制修饰符。 在实际生活中,如果要获取某件物品,[详细]
-
Python枚举类定义和运用
所属栏目:[语言] 日期:2022-07-07 热度:55
一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对这种特殊的类,Python 3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化[详细]
-
Python __dir__ 用法 列出对象的全部属性 方法 名
所属栏目:[语言] 日期:2022-07-07 热度:114
前面在介绍 Python 内置函数时,提到了 dir() 函数,通过此函数可以某个对象拥有的所有的属性名和方法名,该函数会返回一个包含有所有属性名和方法名的有序列表。 举个例子: class CLanguage: def __init__ (self,): self.name = C语言中文网 self.add = ht[详细]
-
Python __del__ 方式 销毁对象
所属栏目:[语言] 日期:2022-07-07 热度:79
我们知道,Python 通过调用 __init__() 方法构造当前类的实例化对象,而本节要学的 __del__() 方法,功能正好和 __init__() 相反,其用来销毁实例化对象。 事实上在编写程序时,如果之前创建的类实例化对象后续不再使用,最好在适当位置手动将其销毁,释放其[详细]
-
Python __repr__ 方法 显现属性
所属栏目:[语言] 日期:2022-07-07 热度:187
前面章节中,我们经常会直接输出类的实例化对象,例如: class CLanguage: pass clangs = CLanguage() print(clangs) 程序运行结果为: __main__.CLanguage object at 0x000001A7275221D0 通常情况下,直接输出某个实例化对象,本意往往是想了解该对象的基本[详细]
-
Python __new__ 办法详解
所属栏目:[语言] 日期:2022-07-07 热度:144
__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。 一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之前修改实例。例如: clas[详细]
-
查视对象内部所有属性名和属性值组成的字典
所属栏目:[语言] 日期:2022-07-07 热度:178
在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。 为了方便用户查看类中包含哪些属性,Python 类提供了 __dict__ 属性。需要注意的一点是,该属性可以用类名或者类的实例对象来调用,[详细]
-
Python issubclass和isinstance函数 检查类别
所属栏目:[语言] 日期:2022-07-07 热度:186
Python 提供了如下两个函数来检查类型: issubclass(cls, class_or_tuple):检查 cls 是否为后一个类或元组包含的多个类中任意类的子类。 isinstance(obj, class_or_tuple):检查 obj 是否为后一个类或元组包含的多个类中任意类的对象。 通过使用上面两个函[详细]
-
什么是运算符重载 Python可重载运算符有什么
所属栏目:[语言] 日期:2022-07-07 热度:195
前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢[详细]
-
何为迭代器 Python迭代器及其用法
所属栏目:[语言] 日期:2022-07-07 热度:179
前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介绍。值得一提的是,这些序列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,因此它们又有一个别称,即迭代器。 例如[详细]
-
Python生成器说明
所属栏目:[语言] 日期:2022-07-07 热度:112
前面章节中,已经详细介绍了什么是迭代器。生成器本质上也是迭代器,不过它比较特殊。 以 list 容器为例,在使用该容器迭代一组数据时,必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,它可以实现在迭代的同时生成元素。 也就是说,对于可[详细]
-
Python函数 函数定义 函数调用 用法剖析
所属栏目:[语言] 日期:2022-07-05 热度:149
Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。 除了可以直接使用的内置函数外,Python 还支持自定义函数,即将一段有规律的、可重复使用[详细]
-
Python函数值传递和引用传递包括形式参数和实际参数的差别
所属栏目:[语言] 日期:2022-07-05 热度:92
通常情况下,定义函数时都会选择有参数的函数形式,函数参数的作用是传递数据给函数,令其对接收的数据做具体的操作处理。 在使用函数时,经常会用到形式参数(简称形参)和实际参数(简称实参),二者都叫参数,之间的区别是: 形式参数:在定义函数时,函[详细]
-
何为位置参数 Python位置参数
所属栏目:[语言] 日期:2022-07-05 热度:161
位置参数,有时也称必备参数,指的是必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致。 实参和形参数量必须一致 在调用函数,指定的实际参数的数量,必须和形式参数的数量一致(传多传少[详细]
-
Python函数关键字参数与用法
所属栏目:[语言] 日期:2022-07-05 热度:140
目前为止,我们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数,则可以避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便。 关键字参数是指使用形式参数的名字来确定输入的参[详细]
-
Python函数默认参数设置 超级具体
所属栏目:[语言] 日期:2022-07-05 热度:109
我们知道,在调用函数时如果不指定某个参数,Python 解释器会抛出异常。为了解决这个问题,Python 允许为参数设置默认值,即在定义函数时,直接给形式参数指定一个默认值。这样的话,即便调用函数时没有给拥有默认值的形参传递参数,该参数可以直接使用定义[详细]
-
Python None 空值 及用处
所属栏目:[语言] 日期:2022-07-05 热度:175
在 Python 中,有一个特殊的常量 None(N 必须大写)。和 False 不同,它不表示 0,也不表示空字符串,而表示没有值,也就是空值。 这里的空值并不代表空对象,即 None 和 []、 不同: None is [] False None is False 另外,对于所有没有 return 语句的函数[详细]
-
Python return函数返回值解说
所属栏目:[语言] 日期:2022-07-05 热度:175
到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束。但实际上,在某些场景中,我们还需函数将处理的结果反馈回来,就好像主管向下级员工下达命令,让其去打印文件,员工打印好文件后并没有完成任务,还需要将文件交给主管。 Python中[详细]
-
Python变量作用域 全局变量与局部变量
所属栏目:[语言] 日期:2022-07-05 热度:121
所谓作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。 变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域[详细]
-
Python局部函数及用法 包括nonlocal关键字
所属栏目:[语言] 日期:2022-07-05 热度:51
通过前面的学习我们知道,Python 函数内部可以定义变量,这样就产生了局部变量,有读者可能会问,Python 函数内部能定义函数吗?答案是肯定的。Python 支持在函数内部定义函数,此类函数又称为局部函数。 那么,局部函数有哪些特征,在使用时需要注意什么呢[详细]
-
何为闭包 Python闭包 初学者必读
所属栏目:[语言] 日期:2022-07-05 热度:141
前面章节中,已经对 Python 闭包做了初步的讲解,本节将详解介绍到底什么是闭包,以及使用闭包有哪些好处。 闭包,又称闭包函数或者闭合函数,其实和前面讲的嵌套函数类似,不同之处在于,闭包中外部函数返回的不是一个具体的值,而是一个函数。一般情况下,[详细]
-
C++函数的默认参数细说
所属栏目:[语言] 日期:2022-07-04 热度:131
在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值[详细]
-
C++类和对象到底是哪个意思
所属栏目:[语言] 日期:2022-07-04 热度:195
C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。 C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来[详细]
-
怎样编译和运行C++程序
所属栏目:[语言] 日期:2022-07-04 热度:148
C++ 和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需[详细]
-
C++命名空间 名字空间 分析
所属栏目:[语言] 日期:2022-07-04 热度:101
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。 例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了[详细]