class Stt:
def __call__(self,salary):
y=salary*12
d=salary/22.5
h=d/8
print(dict(y=y,m=salary,d=d,h=h))
js=Stt() #####这是用的__call__方法 ,调用Stt类的时候加了括号
js(8000)
********************************************
def sa(salary):
js=Stt #### 这是用的常规方法,实例化Stt类的时候没有括号,这个和上面的区别在哪里?为什么上面的有括号,这里没有括号呢?
js.sa(8000)
没有引用的对象被垃圾回收了,这个是python自己的回收机制吗?和JVM的内存回收有什么区别.
java程序 ,如果对象一直没有被回收的话,会导致JVM堆内存的老年代会被打满,从而会出现堆内存溢出的问题。python会出现这样的情况吗?
老师,这个销毁顺序p1=Person()P2=Person()del p2调用两次Person()、一次del p2,结果不是应该显示这样么?
---销毁对象 (销毁的是P1) ----销毁对象(销毁的是P2) ----P2不存在(del P2没用,因P2=person(已经删掉P2了)) -----程序结束
没明白程序执行的结果
老师,如果我想传两个参数加两个默认参数这样写有啥问题吗,代码报错了
''' 设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含 (1) 左上角顶点的坐标:x,y (2) 宽度和高度:width、height (3) 构造方法:传入 x,y,width,height。如果(x,y)不传则默认是 0,如果 width和 height 不传,则默认是 100. (4) 定义一个 getArea() 计算面积的方法 (5) 定义一个 getPerimeter(),计算周长的方法 (6) 定义一个 draw()方法,使用海龟绘图绘制出这个 ''' import turtle as t class MyRectangle: def __init__(self, x=0, y=0, width=0, hight=0, ): self.x = x self.y = y self.width = width self.hight = hight def getArea(self): S = self.width * self.hight print("面积是{0}".format(S)) def getPerimeter(self): L = (self.width + self.hight) * 2 print("周长是{0}".format(L)) def draw(self): t.penup() t.goto(self.x, self.y) t.pendown() t.goto((self.x + self.width), self.y) t.goto((self.x + self.width), (self.y - self.hight)) t.goto(self.x, (self.y - self.hight)) t.goto(self.x, self.y) t.hideturtle() t.done() s = MyRectangle(width=200, higth=80) s.getArea() s.getPerimeter() s.draw()
老师,哈希值算出来之后,取好位数以后计算机是怎样判断选出的索引是合适的呢?,还有散列表的长度多少如何获取?len吗?
箭头所指的这串字符是什么意思?io的地址?
class Employee: id=1000 name=None salary=None def __add__(self,other): if isinstance(other,Employee): return '{0}'.format(self.salary+other.salary) else: return '不是同类对象,不能相加' def __init__(self,name,salary): self.name=name self.salary=salary Employee.id+=1 @property def salary1(self): return '{0}月薪为{1}'.format(self.name,self.salary) @salary1.setter def salary1(self,salary): if (1000<salary<50000): self.salary=salary else: print('请输入1000-50000范围内的薪资') a = Employee('NG',-4000) print(Employee.id) print(a.salary1) b = Employee('LY',8000) print(Employee.id) print(b.salary1) print(a.__add__(b))
老师,为什么setter方法没有发挥作用。
老师,我在安装PyCharm的时候出现,需要勾选吗
老师,任意字符串用单引号还是双引号,还是都可以?
老师啊,''' 三个单引号不是注释用的吗,这又可以创建多行字符串,搞得有点晕啊。
>>> a = [1,2,3] >>> b = list(range(10,50,10)) >>> a.insert(2,b) >>> a [1, 2, [10, 20, 30, 40], 3] >>> a[2] [10, 20, 30, 40]
请问老师,我原意是想把b列表的元素插入a列表的第三个位置,但是使用insert后发现,a列表的第三位元素还是一个列表,怎么样才能在列表中特定位置插入新的列表,就是上面最终让a列表的第三位为10
老师好,请问集合如果类似字典中的键,是否意味着键的性质字典也适用于集合的元素?即:
(1)集合元素不能修改,如果要修改,需要先删除这个元素,再增加一个新元素
(2)集合中不能有列表的存在:如{[1,2],3,4}
(3)集合中不能存在字典:如{{'a':1},2,3}
(4)结合中不能存在集合,即不存在类似二维列表一样的二维集合一说:如{{1,2,3},4,5,6}
老师好,在集合中插入一个新元素,新元素在集合的位置是否固定呢?
如:
>>> a={3,4,5}
>>> a.add(9)
>>> a
{9, 3, 4, 5}
>>> a.add(1)
{1, 3, 4, 5, 9}
>>> a.add(20)
{1, 3, 4, 5, 9, 20}
第一次add(9)时候,9放在了最前面,之后1,20,都是按照从大到小排列
又如:
>>> a=['a','b','c','d']
>>> b=set(a)
>>> b
{'d', 'a', 'c', 'b'}
>>> a=['a','b','c','b']
{'a', 'c', 'b'}
几次排列均不同。
是否可以理解为:因为集合无序可变,所以插入新元素的位置也是无序的。
另外,字典中如果插入新键值对,是否也同样是插入的位置是随机的。谢谢
老师好,我在做二维列表作业的时候,发现报错了,但是我没有发现第三行的问题在哪里,因为第一行和第二行形式一致,为什么第一行没有报错,但第二行报错出现元组了?谢谢
代码区
a=[ ['高小一',18,30000,'北京'] ['高小二',19,20000,'上海'] ['高小三',20,10000,'广州'] ] for i in range(3): for j in range (4): print(a[i][j],end='\t') print('',end='\n')
import math def square(): '''编写函数计算三角形面积''' x1 = float(input("请输入第一个点的横坐标:")) y1 = float(input("请输入第一个点的纵坐标:")) x2 = float(input("请输入第二个点的横坐标:")) y2 = float(input("请输入第二个点的纵坐标:")) x3 = float(input("请输入第三个点的横坐标:")) y3 = float(input("请输入第三个点的纵坐标:")) a = math.sqrt((x1-x2)**2+(y1-y2)**2) b = math.sqrt((x1-x3)**2+(y1-y3)**2) c = math.sqrt((x3-x2)**2+(y3-y2)**2) print(a,b,c) if a+b>c and a+c>b and b+c>a : p=1/2*(a+b+c) s=math.sqrt(p*(p-a)*(p-b)*(p-c)) print("三角形的面积是{0}".format(s)) else: print("三点不能组成三角形") square()
老师,我感觉我在函数里不太会输入数据,特别是遇到列表类,这个三角形的三个坐标可以怎么输入呢?还有就是我感觉这次实操除了用上递归函数,其他的我不太会用,比如在函数体里设置参数,我可以def square(x1[],x2[],x3[])吗? 但是我刚刚试了,这种传入坐标的方式报错
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637