[英]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.