簡體   English   中英

如何在python中編寫打印功能

[英]How programming the print function in python

我試圖編寫一種新型的打印功能,我希望文本以程序方式打印出來,所以我寫了這個:

def print(text):
    for t in text:
        sys.stdout.write(t)
        sys.stdout.flush()
        time.sleep(0.1) 
print('Monkey')
#program stamp  Monkey  letter by letter with delay of 0.1 sec

但是如果我把它放在里面而不是 'Monkey' ('text', object.param, 'text') 他就不能正常工作; 一個例子是:

class Monkey:
     def __init__(self, name):
        self.name=str

Monkey.name = 'George'

def print(text):
    for t in text:
        sys.stdout.write(t)
        sys.stdout.flush()
        time.sleep(0.1)
print('Monkey', Monkey.name, 'is funny')

#TypeError: print() takes 1 positional argument but 2 were given

我如何對這個新打印進行編程以獲得與正常打印相同的潛力,但增加了延遲的可能性

感謝您的關注並為糟糕的英語感到抱歉(請不要為此對我進行 dv)

改變

def print(text)

對此:

def print(*texts)

它接受多個參數不止一個。

並這樣做:

def print(*texts):
    for text in texts:
        for t in text:
           sys.stdout.write(t)
           sys.stdout.flush()
           time.sleep(0.1) 

編輯

如果你也想打印出 int,你可以將 int 轉換為 str:

def print(*texts):
    for text in texts:
        text = str(text) # Notice!! I added this line
        for t in text:
           sys.stdout.write(t)
           sys.stdout.flush()
           time.sleep(0.1) 

您可以在參數文本前添加一個星號。

class Monkey:
     def __init__(self, name):
        self.name=str

Monkey.name = 'George'

def print(*text):
    for t in text:
        sys.stdout.write(t)
        sys.stdout.flush()
        time.sleep(0.1)
print('Monkey', Monkey.name, 'is funny')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM