老师好,平均薪资计算时有点问题,可以直接换成salary_sum/len(salarys)。
一、代码
class Person: def __del__(self): print("销毁对象:".format(self)) p1 = Person() p2 = Person() del p2 print("程序结束")
二、运行结果
三、问题:
1、如果在类中自己定义了__del__方法,程序在删除对象时,就是调用的是自己定义的__del__方法,而不是默认的__del__方法吗?
老师:
有以下几个问题想请教一下:
① String类型的常量,在常量池中是字节形式的的吧,比如“abc”,其实就是['a','b','c'] 的数组?
② 那如果是这样的话一个字符占用的空间是一个字节;那么如果出现中文呢,比如"你abc好hello",这样的,在底层是怎么存储的呢?
class Student(): nums = 0 def __init__(self,name,score): self.name = name self.score = score self.nums +=1 def say_score(self): print(self.name,"的分数是",self.score) @classmethod def test(cls): cls.nums +=1 print(cls.nums) @staticmethod def add(a,b): print("{0}+{1}={2}".format(a,b,(a+b))) return a+b s1 = Student('lmz',100) print(s1.nums) Student.test() Student.add(1,2) s1.add(1,2) s1.test() s2 = Student('lmz',101) print(s2.nums)
三、问题
1、类方法只属于类对象,实例对象并未保存类方法的代码,为什么s1.test()、s1.add(1,2)也可以运行
class Student(): nums = 0 def __init__(self,name,score): self.name = name self.score = score self.nums +=1 def say_score(self): print(self.name,"的分数是",self.score) s1 = Student('lmz',100) print(s1.nums) s2 = Student('lmz',101) print(s2.nums)
二、运行近结果
1、print(s2.nums)为什么不是2?
我在用javac命令时,报错这个,时因为我的文档的编码格式不对么?编码格式不对,运行不是应该出现乱码么,怎么直接编译都不通过呢?
代码:
public class Test { public static void main(String[] args) { String str1 = "abc" + "dbc"; String str4 = "abcdbc"; String str2 = str1 + "cde"; String str3 = new String("hello"); System.out.println(str1 == str4); /** 等号右侧有变量参与运算或者有new关键字时,将会在对内存中开辟空间 */ } }
结果:
package com.hy.io.TestInputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; /*** * 测试转换流 * @author hy * */ public class TestInputStreamReader01 { public static void main(String[] args) throws IOException { //任务需求是将键盘输入的数据写入磁盘 //1,数据源的标准输入,键盘System.in InputStream is=System.in; //2,使用转换流,转换成字符串 InputStreamReader isr=new InputStreamReader(is,"gbk"); //3,提高读取效率 BufferedReader br=new BufferedReader(isr); //4,提高写入效率 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\cc.txt"))); //5,写入磁盘文件 String line=null;//用来存储读到的字符串 while("over".equals((line=br.readLine()))){//通过读取的字符和over进行对比,如果相等,则停止 bw.write(line);//读取整行字符 bw.newLine();//换行 bw.flush(); //手动刷新缓存 } //6,关闭程序 bw.close(); br.close(); } }
老师你好,我是按照视频敲得代码,但是最后的控制台输入时,怎么换行呀?如果输入的是非over数据,按enter换行时,程序运行也就结束了指定的文件为空;如果输入的是over,按enter键可以正常换行继续输入,但是指定的文件中只会有over这个数据,
老师,我执行python manage.py makemigrations model_study命令报错了,可能是什么原因啊
老师为啥我set·add. url的时候提示我不可哈希的list,
老师,本章节的资料被删了,可以重新上传下么
删除命令不commit 也恢复不了么?也需要数据恢复? 数据恢复属于硬件么?什么原理?有资料么?
老师,我是os系统,按方式1创建文件,但是远程上传出错了。请问是什么原因。
老师好,PyCharm中在使用print时不能设置end参数,这是怎么回事呢?同样的代码(全选复制过去)在IDLE中能运行。
如何在PL/SQL工具中改变字符集为utf-8
您好,我使用第二种方式启动,然后修改controller代码,没有生效。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637