最新回答 / KingToAce
返回的是tuple,tuple把字符串转为十六进制存储,所以表示出来的是十六进制,如果非得要这样表示的话,那就把tuple取出子元素使用str( )方法把十六进制转为字符串
2018-09-28
最赞回答 / digbigwu
<...code...>这是我在学习类的封装的时候写的代码,你看一下,这里不是说不能按照你这样设计成self.score = score,而是因为将score变成了Person类的一个私有属性,__score这是私有属性的表达语法,比如这样写了之后就不能直接print p1.__score来得到分数了,只能通过在类的内部重新定义一个函数来返回分数的值,这也就是类的封装,就是这个道理。
2018-09-27
最新回答 / qq_还能爱你多久_0
self.numbers是类实例的一个属性,如果不定义这个属性,在__str__和__len__这些函数中L是没有办法调用的.只要能实现调用,属性名是什么样的都行,只要你能看懂,可以随便起.self.numbers=L也叫定义属性,说明self.numbers指向了L,就想之前写的代码self.name=name,这个代表self.name指向了类实例时传进来的name参数.这其实都是一样的
2018-09-27
最新回答 / 慕虎5384743
self是谁主要看是调用的谁的cmp方法,Bob和Tim比较,调用的是Bob的cmp方法。调用谁的cmp还要看sorted使用的排序算法是什么,
2018-09-27
import math
def is_sqr(x):
if math.sqrt(x) % 1 == 0:
return x
print filter(is_sqr, range(1, 101))
def is_sqr(x):
if math.sqrt(x) % 1 == 0:
return x
print filter(is_sqr, range(1, 101))
2018-09-27
print sorted(['bob', 'about', 'Zoo', 'Credit'], key=lambda x:x.lower())
2018-09-27
def __str__(self):
i=self.p
while i<=self.p:
if(self.p%i==0 and self.q%i==0):
break
i=i-1
return '%s/%s'%(self.p/i,self.q/i)
从两个数中任意一个数开始减,都能除尽的数
i=self.p
while i<=self.p:
if(self.p%i==0 and self.q%i==0):
break
i=i-1
return '%s/%s'%(self.p/i,self.q/i)
从两个数中任意一个数开始减,都能除尽的数
2018-09-27
import math
print filter(lambda x:math.sqrt(x)%1==0, range(1, 101))
print filter(lambda x:math.sqrt(x)%1==0, range(1, 101))
2018-09-27
最新回答 / 慕仙413142
对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法__cmp__()
2018-09-27
如何去掉`__xxx__`这类的特殊属性,只保留我们自己定义的属性?回顾一下filter()函数的用法。
list(filter(lambda x: '_' not in x, dir(p)))
list(filter(lambda x: '_' not in x, dir(p)))
2018-09-26
最新回答 / qq_破茧成蝶_8
不好意思,刚才回答错了。你说的f(x)中的这个f,是对要修改函数的一个统一命名,这样不管你要修改的函数是f1、还是x1,或者是c1,都不用每次去改def new_fn(f)
2018-09-26
import math
def is_sqr(x):
return math.sqrt(x) in range(1,11)
print filter(is_sqr, range(1,101))
def is_sqr(x):
return math.sqrt(x) in range(1,11)
print filter(is_sqr, range(1,101))
2018-09-26