導航:首頁 > 編程語言 > python列印類成員

python列印類成員

發布時間:2022-11-27 08:28:37

python中編寫一個類,包含一個變數,一個方法;再編寫一個子類,繼承前一個類

摘要 使用 class 語句來創建一個新類,class 之後為類的名稱並以冒號結尾:class ClassName:

Ⅱ python中關於類的問題求解

作業要自己做才能提高水平,只說原理,這個問題,定義長寬高,和計算體積,都不是難點,主要是如何知道實例化數量。

Python的特性是,類的變數,如果是在類裡面直接申明,那麼就是靜態變數,這個類的所有對象都共享共一個變數,用類名來訪問。在這個問題中可以用來計數,例如:

classBox:
count=0
def__init__(self,l,w,h):
Box.count+=1

count變數用來統計對象個數,在類的初始化函數__init__中加1,每初始化一個對象就能使統計值加1了。

而在類的函數中申明的self的變數,就是類的成員變數,每個實例化的對象都有一份自己的拷貝,例如

classBox:
count=0
def__init__(self,l,w,h):
Box.count+=1
self.length=l
self.width=w
self.height=h
self.volumn=l*w*h

self.length就是長度,其他的類推,比如要測試並列印出屬性

b1=Box()
b1.length
b1.width
b1.height
b1.volumn

我發覺我基本都把這題做完了。。。。

Ⅲ Python的成員函數問題

  1. join() 是str類中的一個成員函數,它是類成員。


2. python中視一切為對象,所以a其實是一個字元串對象,具有成員函數join,可以用dir(a)查看。


3. a.join() 就是字元對象a調用其成員函數 join()

Ⅳ python如何列出類的成員方法,例如下面代碼,如何列出m1,m2

import c1
print(dir(c1))#顯示c1所有成員和方法
print(dir(c1.m1))#顯示m1的方法
print(dir(c1.m2))#顯示m2的方法

Ⅳ python數據類型(集合)

    1.集合(set)是一個無序不重復元素的序列(意思是有重復的會自動刪除,每次列印元素的位置不一定)

    2.基本功能是進行成員關系測試和刪除重復元素

    3.可以使用大括弧 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典

    4.因為set存儲的是無序集合,所以我們沒法通過索引來訪問。訪問 set中的某個元素實際上就是判斷一個元素是否在set中。

1.創建集合

s=set()#創建一個空集合

s1={1,2,3,'a','python'}

2.刪除重復的元素

集合是一個無序不重復元素的序列(意思是有重復的會自動刪除,每次列印元素的位置不一定)

3.成員關系測試(檢測某個成員是否在集合中)

案例:從終端輸入5位數,以空格隔開,把這5位數存入列表中,剔除重復的數據,列印出來

#提示,列表轉集合,集合轉列表

a=input("請輸入5位數字:")

mylist=a.split()

print(mylist)

b=set(mylist)

c=list(b)

print(c)

4.集合常用操作

    1.添加元素

    2.刪除元素

    3.刪除整個集合

    4.獲取集合的長度

    5.不支持改元素

集合操作-添加元素

格式:

集合.add(元素)

格式:

集合.update(元素)

區別:

add不能添加列表,update可以

update是將字元串中的拆分成字元進行追加

add,是當做整體追加在集合中

#案例:從終端輸入一個數字就加入集合中,然後列印,又輸入一個數字,然後列印,直到輸入-1,退出輸入

#然後列印最終的集合

ms=set()

while 1:

a=int(input("請輸入一個數字:"))

if a==-1:

    break

    ms.add(a)

print(ms)

print(ms)

#案例:從終端輸入一個字元串就加入集合中,然後列印,又輸入一個字元串,然後列印,直到輸入q,退出輸入

#然後列印最終的集合,字元串要分開存儲,如輸入hello,存儲的列表是{'h','e','l','0'}

ms=set()

while 1:

a=input("請輸入一個字元串:")

if a=='q':

    break

    ms.update(a)

print(ms)

print(ms)

集合操作-刪除元素及刪除整個集合

格式:

集合.remove(元素)  # 元素如果不存在會引發KeyError

集合.discard(元素)  # 元素如果不存在不發生任何事

集合.pop()  # 集合元素是字元串類型時刪除隨機元素。 集合元素是其他數據類型時,刪除左邊第一個元素

del 集合名 #刪除整個集合

#案例:有集合{1,2,3,'hello','world'},刪除全部字元串,然後最左邊第一個元素

a={1,2,3,'hello','world'}

a.discard("hello")

a.discard("world")

a.pop()

print(a)

集合操作-獲取集合的長度

格式:

len(集合名)

#案例:有集合{1,2,3,4,'hello','a'},保留1個元素,其他的刪除,假如元素個數不確定

s={1,2,3,4,'hello','a'}

for i  in range(len(s)-1):

            s.pop()

  print(s)

集合的集運算

集合的交集,並集,差集,對稱差集的運算

{1,2,3,4}交集{4,5,6,7} -->4   交集(&)

{1,2,3,4}並集{4,5,6,7} ->1,2,3,4,5,6,7  並集(|)

{1,2,3,4}差集{4,5,6,7} ->1,2,3  差集(-)

{1,2,3,4}對稱差集{4,5,6,7}->1,2,3,5,6,7 4同時出現在兩個集合中,不選它 對稱差集(^)

#案例:使用花括弧和set創建各一個集合,然後對集合進行交、並、差、對稱差運算

s={1,2,3,4,5,6}

s1=set([6,7,8,9,10])

print(s&s1)

print(s|s1)

print(s-s1)

print(s^s1)

Ⅵ python的類成員怎麼變成實例成員

實例可以直接使用類的成員變數。但是有點要注意的,就是關於類變數和實例變數之間的關系,和可變參數、不可變參數差不多的原理。可以參照下面的例子(python版本2.7),希望可以幫到你:

#encoding:UTF-8

classA(object):
x=100
y=[1,2,3,4]
def__init__(self):
pass


if__name__=="__main__":
a=A()
A.x="test"
printA.x
printa.x
a.x='xyz'
A.x="hello"
printa.x
printA.x
printA.y
printa.y
a.y.append("x")
printa.y
printA.y

輸出結果:

Ⅶ 編寫Python程序,用於顯示人的姓名和年齡

按照題目要求編寫的Python程序如下

class Person:

def __init__(self,name,age):

self.__name=name

self.__age=age

def display(self):

print("姓名:{},年齡{}".format(self.__name,self.__age))

if __name__ == '__main__':

p=Person("張三",18)

p.display()

源代碼(注意源代碼的縮進)

Ⅷ 定義一個學生類,包含學號、姓名、平時成績和考核成績四個數據成員和以下成員方法(用Python語言):

花了不少時間寫的,挺詳細的,希望採納。


#引入operator模塊,用於給集合排序
importoperator


#單行注釋用"#",多行注釋用'''注釋內容'''
#定義一個學生類,類名用駝峰命名法
classStudent:

#構造方法,可用來創建對象格式def__init__(self,參數)參數個數自已定義,類型系統自動識別
def__init__(self,stu_no,name,base_score,exam_score):
self.stu_no=stu_no#對象屬性賦值
self.name=name
self.base_score=base_score
self.exam_score=exam_score

#定義計算總評函數定義函數格式def函數名(self,參數),self代表本對象
defget_last_score(self):
#return指定返回值,無return表示此函數無返回值
returnself.base_score*0.3+self.exam_score*0.7

#類似toString方法,列印對象時,調用對象的該方法
def__str__(self):
return'學號:'+self.stu_no+'姓名:'+self.name+",平時成績:"+str(self.base_score)+",考核成績:"+str(self.exam_score)


#定義函數,將對象集合寫到文件,上面三個函數有縮進,屬於Student類的函數,本函數屬於全局函數
defprint_to_file(path,stu_arr):
#打開文件,操作完成後自動關閉文件
withopen(path,'w')asfile:
#調用operator給集合排序
sort_attr=operator.attrgetter('stu_no')#指定排序屬性
stu_arr.sort(key=sort_attr)#排序
forstuinstu_list:
str=stu.__str__()#將對象轉換為字元串
file.write(str+' ')#將字元串寫入文件


#主函數,運行的入口
if__name__=='__main__':
#創建幾個學生對象,按__init__的順序輸入參數
s1=Student('1001','zhangsan',31,69)
s2=Student('1003','wangwu',28,32)
s3=Student('1004','zhaoliu',77,78)
s4=Student('1002','lisi',19,89)
#創建集合
stu_list=[s1,s2,s3,s4]

#文件路徑
f='d:\aaa.txt'
print_to_file(f,stu_list)

Ⅸ python怎麼查看object 里的成員變數

首先通過一個例子來看一下本文中可能用到的對象和相關概念。

  • #coding:utf-8import inspectprint inspect.ismole(inspect) #Trueprint inspect.isfunction(inspect.isfunction) #Trueprint inspect.isbuiltin(sorted) #Trueprint inspect.isroutine(sorted) #True

  • 對於實現了__call__的類實例,這個方法會返回False。如果目的是只要可以直接調用就需要是True的話,不妨使用isinstance(obj, collections.Callable)這種形式。我也不知道為什麼Callable會在collections模塊中,抱歉!我猜大概是因為collections模塊中包含了很多其他的ABC(Abstract Base Class)的緣故吧:)

  • #coding:utf-8import collectionsclass Dog(object): def __call__(self, name):#實現__call__方法就可以直接調用對象了

  • print 'i am a dog named ' , name


  • dog = Dog()

  • dog('DaHuang')print isinstance(dog, collections.Callable) #Trueprint dog.__class__.__bases__

  • 3.2. 獲取對象信息

  • getmembers(object[, predicate]):這個方法是dir()的擴展版,它會將dir()找到的名字對應的屬性一並返回,形如[(name, value), ...]。另外,predicate是一個方法的引用,如果指定,則應當接受value作為參數並返回一個布爾值,如果為False,相應的屬性將不會返回。使用is*作為第二個參數可以過濾出指定類型的屬性。

  • getmole(object):還在為第2節中的__mole__屬性只返回字元串而遺憾嗎?這個方法一定可以滿足你,它返回object的定義所在的模塊對象。

  • get{file|sourcefile}(object):獲取object的定義所在的模塊的文件名|源代碼文件名(如果沒有則返回None)。用於內建的對象(內建模塊、類、函數、方法)上時會拋出TypeError異常。

  • get{source|sourcelines}(object):獲取object的定義的源代碼,以字元串|字元串列表返回。代碼無法訪問時會拋出IOError異常。只能用於

  • 閱讀全文

    與python列印類成員相關的資料

    熱點內容
    php如何導入excel文件 瀏覽:237
    同撈同煲哪個app可以看 瀏覽:861
    微信查卷優惠券源碼 瀏覽:480
    伺服器光碟機線怎麼插 瀏覽:12
    新生兒下載哪個app好 瀏覽:487
    摩托車壓縮比96 瀏覽:410
    linux查看mysql內存 瀏覽:242
    福建ca認證伺服器地址 瀏覽:567
    三星安全文件夾怎麼取消應用程序 瀏覽:169
    偶像來了哪個app能看 瀏覽:252
    破解分銷源碼 瀏覽:184
    androidudp服務端 瀏覽:771
    電腦伺服器和內存有什麼區別 瀏覽:308
    下載海爾哪個app可以查詢信息 瀏覽:385
    暴風文件夾怎麼刪除 瀏覽:163
    我的世界緩存文件在哪個文件夾 瀏覽:359
    簡歷發壓縮包還是文件夾 瀏覽:85
    mes系統用什麼伺服器5885v5 瀏覽:486
    郵件伺服器可以怎麼查詢 瀏覽:727
    啟動linux的sftp 瀏覽:66