30/09/2018, 20:00

tạo bộ đếm cho chương trình

mình đang học python cơ bản và và hiện muốn tạo một bộ đếm cho chương trình tìm kiếm mình đã thử tạo 1 class chuyên để đếm nhưng không thành m.n giúp mình sửa lại đc không thank

code: 
class count:
          def __init__ (self,count):
                   self.count=self.count+1
a=count(0)

mình muốn mỗi lần call class ‘count’ ra thì cái count.count sẽ tăng thêm 1 nhưng nó luôn bị quay về 0 sau mỗi lần call

Vu Van Chung viết 22:12 ngày 30/09/2018

cái này nếu trong java thì nó là biến tĩnh, kiểu static ấy, thì nó mới là thuộc tính của lớp, còn nếu ko có static thì nó chỉ là thuộc tính của đối tượng thôi. Nên bạn phải để static, còn trong python thì mình không biết kiểu static khai báo thế nào

Thành Phạm viết 22:10 ngày 30/09/2018

Tại cái count của bạn chuyền vào nó không được gán
Bạn phải làm như này trước:

self.count = count

Xong làm 1 hàm tăng count riêng, chứ không dùng init được, init nó chỉ chạy khi khởi tạo đối tượng thôi Kiểu như này này:

class MyCounter:
    def __init__(self, count):
        self.count = count
    def increase_count(self):
        self.count = self.count + 1


my_counter = MyCounter(0)
my_counter.increase_count()
my_counter.increase_count()
print my_counter.count
Lé Sơn viết 22:15 ngày 30/09/2018

mình cũng đang học python , bạn thử code này xem

class Count:
    count = 0

def __init__(self, name):
    self.name = name
    Count.count += 1

def func_test(self):
    print('{}'.format(self.name))

def dem():
    print("count = {} ".format(Count.count))


a = Count('lan 1 ')
a.func_test()
b = Count('lan 2')
b.func_test()
c = Count('lan 3')
c.func_test()
Count.dem()

kết quả >>>

> C:\Users\Heo\AppData\Local\Programs\Python\Python35-32\python.exe "E:/Google Drive/My pj/Python/test3 3.py"
> lan 1 
> lan 2
> lan 3
> count = 3 

> Process finished with exit code 0
Bài liên quan
0