- 博客(20)
- 收藏
- 关注
原创 Python_7小整数池
为了避免因创建相同的值 而重复申请内存空间所带来的效率问题 所以python解释器启动的时侯 会自动创建小整数池。因此小整数池中的所有数都不会被垃圾回收机制回收。# 他们的id值相同。范围: -5 < x < 256。例如: a = 10。此时 a is b。
2023-08-11 09:14:10
149
1
原创 Python_6身份运算与相等运算
在pycharm中系统直接优化了,所以输出相等,但是项目上线运行时会不一样,可以使用windows键+r>cmd 试试,结果输出不一样的id。# 在以上a,b中 a==b 是True a is b 是False。# id不同 可能值相同 因为不同内存空间可以存相同的值。# 所以看id是否相同就看是否有相同的内存空间。is 是用来比较两个变量值的id是否相等的。== 两个等号是比较左右变量值是否相等的。#他们都有相同的内存空间,所以id相同。# id相同 值一定相同。
2023-08-11 09:09:09
128
1
原创 Python_4变量
首先要见名知意,其次组成必须是字母、数字、下划线_,大写小写都可以,一般纯大写表示常量,并且变量名不能用数字开头,也不可以用print这种关键词作为变量名。小知识:ctrl+Alt+L在Pycharm中可以快速格式化代码,将所有标注黄色的线标准化。反映变量的内存地址,id不是变量值的内存地址,它是通过变量值计算出来的。小知识:ctrl+d可以直接复制这一行。变量————先定义 后引用。#变量值的两个重要特征。
2023-08-09 00:00:00
52
1
原创 Python_5垃圾回收机制
此时c和前面100绑定关系和后面123也绑定关系,那么c会和前面的绑定关系解除,重新指向新的内存地址,那么开始的100此时引用计数就变成了0,无法通过其他方式引用到100的内存空间,它就会被回收。1.定义变量就是在内存里开辟一个内存空间,然后把内存的地址给这个变量名,我们就可以找到对应的值在哪里,但是内存空间是有限的,如果你申请了内存空间但是你不用,那么就是在浪费资源,最后导致内存溢出。此时a,b,c都引用了100,那么就是引用计数的增加,此时为3。del a就是解除a与变量100的关系,而不是指删除。
2023-08-09 00:00:00
62
1
原创 Python_3python的注释
多行注释用三个单引号'''*'''或者三个双引号"""*"""python中#号为注释代表这段代码实现了***功能。# 同一行注释需要空两格,同时#号后面空一格。可以直接注释掉这一行。#后面有黄色的波浪线表示不规范。当光标停留在任何一行时。
2023-08-08 09:39:40
65
原创 Python_1Python解释器的安装
5.选中Customize installation自定义安装与Add Python 3.7 to PATH。7.win+r输入cmd,切换到安装路径 cd d:\python3.7,输入Python可以看到成功安装。6.Next之后勾选一个Install for all users为所有用户安装(前五个应该都是勾选的)我的电脑>属性>高级系统设置>环境变量>系统变量>PATH新建>粘贴路径。3.Python有很多版本,不要选定最新版本,因为会出现很多bug。
2023-08-08 00:00:00
60
原创 Python_2集成开发环境Pycharm的安装
4.New Project创建一个Location(新的文件夹),选择Previously configured interpreter,点击更多,选中System Interpreter(这个是之前装好的Python解释器)2.Downloads community(社区版),不要去找破解版,想要专业版可以自己去买。1.进入pycharm的官网。
2023-08-08 00:00:00
94
原创 C语言_求1-1/2+1/3-......+1/99-1/100的值
【代码】C语言_求1-1/2+1/3-......+1/99-1/100的值。
2023-08-07 08:00:00
192
1
原创 C语言_对10个数组元素依次赋值为0、1、2、3、4、5、6、7、8、9,并要求按逆序输出。
【代码】C语言_对10个数组元素依次赋值为0、1、2、3、4、5、6、7、8、9,并要求按逆序输出。
2023-07-28 06:00:00
1255
1
原创 Java_8.异常处理
try代码块中是可能会抛出异常的代码,如果抛出了指定类型的异常,catch代码块中的代码将会被执行,用于处理异常。与try-catch语句类似,如果try代码块中抛出了指定类型的异常,相应类型的catch代码块中的代码将会被执行,如果try代码块中没有抛出异常,catch代码块不会被执行。抛出异常后,程序就会立即停止执行当前方法中剩余的代码,转而开始查找该方法对应的异常处理代码。如果当前方法没有异常处理代码,或者处理代码无法处理该异常,则该异常会沿着方法调用栈一层层向上抛出,直到被处理或者到达程序的顶层。
2023-04-20 18:40:29
589
原创 Java_7.包和内部类
菱形继承问题是指一个子类继承了两个不同的父类,这两个父类又共同继承了同一个父类,形成了一个菱形的继承结构,这会导致方法调用的不确定性和冗余。PS:假设有一个Animal类和一个CanRun接口,Animal类实现了CanRun接口,同时还有一个Person类继承了Animal类,那么Person类也就同时继承了CanRun接口的方法。与成员内部类不同的是,静态内部类只能访问外部类的静态成员,不能访问外部类的非静态成员。需要注意的是,匿名内部类只能用于一次性的类定义,因此在该代码中只能使用一次。
2023-04-19 08:00:00
369
原创 Java_6.封装与访问控制符
这样可以避免在接口中添加新的抽象方法时,所有的实现类都需要实现新的方法,从而降低了接口的扩展性。封装是面向对象编程的三个基本特征之一(另外一个是继承,多态),其核心思想是隐藏对象的内部细节,只对外暴露必要的接口或方法,从而保证程序的安全性和可维护性。隐藏细节:封装可以将类内部的细节隐藏起来,只对外部提供必要的接口和方法,避免了外部直接访问类内部细节,从而保证了程序的安全性和可维护性。提高重用性:封装可以将类的实现细节隐藏起来,只对外暴露必要的接口和方法,使得类的实现细节对外不可见,从而提高了类的重用性。
2023-04-18 08:00:00
93
原创 Java_5.析构函数
在创建对象时,会自动调用与该类名称相同的构造器,并在构造器中执行必要的初始化操作。幽灵引用是一种特殊的引用,它的作用是在对象被垃圾回收器回收时得到通知,但是在这个时刻之前,无法通过幽灵引用访问到这个对象。当一个对象被垃圾回收器回收时,它的幽灵引用会被放入待清理队列中,然后在Cleaner线程中执行清理操作。在Java中,如果定义了finalize()方法,当对象被垃圾回收时,该方法会自动被调用。总之,构造函数和析构函数是用于创建和销毁对象的特殊方法,可以在对象创建和销毁时执行必要的操作。
2023-04-17 15:17:36
3074
原创 Java_4.使用接口和抽象类实现多态
"狗"和"猫"都是"动物"的子类,它们重写了"发出声音"方法,但是"狗"发出"汪汪"声音,"猫"发出"喵喵"声音。实现接口的类必须要提供这些方法的具体实现。接口的主要作用是实现代码的解耦,即接口定义了规范和约束,实现类需要按照接口的规范来实现接口中的方法。我们可以定义一个角色接口,包含所有角色所需实现的方法,比如攻击和防御,我们定义它的攻击和防御方法,然后在每个角色类中实现这些方法,以满足游戏的需求。,默认方法则是在Java 8中引入的,它们允许接口有默认的实现,而不需要实现类来提供具体的实现。
2023-04-16 08:00:00
1243
原创 Java_3.继承
在运行时,当通过子类或实现类的实例调用覆盖的方法时,实际执行的是子类或实现类中定义的方法,而不是超类或接口中的方法。当多个类具有相似的属性和方法时,可以定义一个父类来存放共同的属性和方法,子类通过继承父类可以直接使用这些属性和方法,而无需重新定义它们。通过继承,子类可以直接访问父类的属性和方法,而无需重新定义它们。关键字是用于访问父类的属性和方法的关键字,它可以用在子类中访问父类的属性和方法,也可以用来调用父类的构造方法。访问父类的属性和方法:子类中如果定义了与父类同名的属性或方法,可以使用。
2023-04-14 08:00:00
190
1
Java期末复习题编程题(47道)和选择题(30道) 包括异常处理和接口以及普通编程题
2023-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人