第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

這樣寫有什么不妥的地方嗎?

class Person:

? ? name=""

? ? def __init__(self):

? ? ? ?pass

? ? ? ??

def compare_name(Person_list,Person_c):

? ??

? ? for i in range(0,len(Person_list)):

? ? ? ? if i <= (len(Person_list)-2):

? ? ? ? ? ? name_a = Person_list[i].name.lower()

? ? ? ? ? ? name_b = Person_list[i+1].name.lower()

? ? ? ? ? ? if name_a > name_b:

? ? ? ? ? ? ? ? lowercompare=1

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? lowercompare=0

? ? ? ? ? ? name_a = Person_list[i].name.upper()

? ? ? ? ? ? name_b = Person_list[i+1].name.upper()

? ? ? ? ? ? if name_a > name_b:

? ? ? ? ? ? ? ? uppercompare=1

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? uppercompare=0

? ??

? ? ? ? ? ? if lowercompare ==1 and uppercompare ==1:

? ? ? ? ? ? ? ? Person_c = Person_list[i+1]

? ? ? ? ? ? ? ? Person_list[i+1] = Person_list[i]

? ? ? ? ? ? ? ? Person_list[i] = Person_c

? ? return Person_list


p1 = Person()

p1.name = 'Bart'


p2 = Person()

p2.name = 'Adam'


p3 = Person()

p3.name = 'Lisa'


p4=Person()

L1 = [p1, p2, p3]

L2 = compare_name(L1,p4)


print L2

print L2[0].name

print L2[1].name

print L2[2].name

還有為什么參考代碼里面,類沒有name變量,P1 P2 P3 初始化時(shí)可以去給那么賦值,這點(diǎn)有疑問

正在回答

4 回答

1、python是動(dòng)態(tài)語(yǔ)言,實(shí)例對(duì)象的屬性變量、方法是可以動(dòng)態(tài)生成的,不同的實(shí)例對(duì)象包含的屬性可以不同,這種寫法表示name是類的屬性,實(shí)例對(duì)象可以直接調(diào)用類型屬性,在存在名稱沖突時(shí),系統(tǒng)優(yōu)先取實(shí)例對(duì)象的同名屬性
class?Person:????
????name=""????
????def?__init__(self):???????
????????pass
...
p1?=?Person()
p1.name?=?'Bart'
p2?=?Person()
p2.name?=?'Adam'
p3?=?Person()
p3.name?=?'Lisa'
#Person.Name=''

def?compare_name(Person_list,Person_c):
這個(gè)函數(shù)中的第二個(gè)參數(shù)是不必要的,可以刪除,Person_c只是一個(gè)臨時(shí)變量。
函數(shù)里面的轉(zhuǎn)換為小寫比較和轉(zhuǎn)換為大寫比較只需要執(zhí)行一種操作即可。

針對(duì)排序還可以調(diào)用sorted函數(shù)實(shí)現(xiàn)排序功能
def?compare_name(Person_list):????????
????return?sorted(Person_list,lambda?x,y:cmp(x.name.upper(),y.name.upper()))


2 回復(fù) 有任何疑惑可以回復(fù)我~

cmp(x,y)用于比較兩個(gè)對(duì)象,如果x<y,返回-1,如果x>y,返回1;如果x==y,返回0

0 回復(fù) 有任何疑惑可以回復(fù)我~

cmp是什么啊


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
python進(jìn)階
  • 參與學(xué)習(xí)       255577    人
  • 解答問題       3030    個(gè)

學(xué)習(xí)函數(shù)式、模塊和面向?qū)ο缶幊?,掌握Python高級(jí)程序設(shè)計(jì)

進(jìn)入課程

這樣寫有什么不妥的地方嗎?

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)