Python 不同对象比较大小示例探讨,python大小示例探讨


万恶的源泉:

Fireboo的疑问(当然 lambda 本身写的就有问题):

>>> filter( lambda x: x > 2, [ 1, [ 1, 2, 3 ], 2, 3 ] ) 
[[1, 2, 3], 3]

?:

>>> 1 < [ 1 ] 
True 
>>> int < list 
True 
>>> dict < int < list 
True
>>> int < map 
False

后来几经周折,和 Fireboo 讨论了下,是

1.不同对象比较(除了 number 之外),是按照 type names 比较,

2.当相同类型对象不支持适当比较的时候,采用 address 比较

3.list 与 list, tuple 与 tuple 采用字典序比较

>>> x = 1 
>>> y = [ 1 ] 
>>> type( x ) 
<type 'int'> 
>>> type( y ) 
<type 'list'> 
>>> x < y 
True
>>> type( int ) 
<type 'type'> 
>>> type( list ) 
<type 'type'> 
>>> id( int ) 
505552912 
>>> id( list ) 
505555336 
>>> int < list 
True
>>> type( map ) 
<type 'builtin_function_or_method'> 
>>> type( list ) 
<type 'type'> 
>>> map < list 
True

什是Python的类,方法,对象,实例?其中方法,对象,实例的概念相当模糊帮忙,

类,简单来说就是一个函数的集合,在这个集合里面你定义了很多个函数;方法,其实就是你定义的这些函数。在下面的例子中Class Plus就是一个类,嵌套在这个类里面的两个函数就是所谓的方法,但是__init__只是用于初始化这个类,所以不算是方法。而get_result这个函数就是一个方法了。
举个例子:
Class Plus:
def __init__(self, a,b)
self.a = a
self.b = b
def get_result(self)
return self.a + self.b
在上面这个例子中,self就是对象,这个对象里面有两个参数,一个是self.a,另一个是self.b,对象简单来说就是自身具有多个属性(也可以说是子变量)的变量而已。如果说对象是笼统的东西,那么实例就是具体的东西。对象只是一个模板,有一些属性,而实例就是把数据填到这个模板里面去。比如这里你再这样写:c1 = Plus(1,2),这里c1就是一个实例,你还可以加一句:c2 = Plus(2,3),那c2也是一个实例,但是他们拥有共同的属性和模板。下面的例子就是调用了类里面的方法:
result1 = c1.get_result() >>> 3 输出结果为3
result2 = c2.get_result() >>> 5 输出结果为5
 

python 比较大小

  注意比较字符串和比较数字不一样,需要手动将字符串转换为整数。

  字符串比较不看数字大小,而是看字符的ascii码顺序。raw_input得到的数据是字符串,字符串3其实是大于字符串21的。所以这里如想正确比较,就必须把字符串转为数字。

我修改了你的程序:
def printMax(a, b): if a > b: print a, 'is maximum' else: print b, 'is maximum'#printMax(3, 4) # directly give literal valuesx = int(raw_input("x"))y = int(raw_input("y"))printMax(x, y) # give variables as arguments
望采纳,请按下面评论的时间采纳,谢谢支持!

 

评论关闭