永恒的蓝色梦想 发表于 2020-3-15 10:45:56

Python print() 函数

本帖最后由 一个账号 于 2020-3-21 12:33 编辑

Python print() 函数

语法

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) -> None

参数

参数描述*values打印的值file类似文件的对象(流)sep在值之间插入的字符串end追加在最后一个值之后的字符串flush是否强制刷新缓冲区

描述

将值打印到流(默认打印到 sys.stdout)。

返回值

None

例子

>>> print(8)
8
>>> print(8,9,sep='7')
879
>>> print(12,6,sep='sp',end='ns')
12sp6ns
>>> print(3, flush=True)
3
>>> import sys
>>> print("SyntaxError", file=sys.stderr)
SyntaxError

永恒的蓝色梦想 发表于 2020-3-15 10:49:23

一种可能的实现

def print(*values,sep=None,end=None,file=None,flush=False):
    if sep is None:
      sep=' '

    elif not isinstance(sep,str):
      raise TypeError(f'sep must be None or a string, not {type(sep).__name__}')

    if end is None:
      end='\n'

    elif not isinstance(end,str):
      raise TypeError(f'end must be None or a string, not {type(end).__name__}')

    if file is None:
      from sys import stdout as file

    file.write(sep.join((str(i) for i in values))+end)

    if flush:
      file.flush()

一个账号 发表于 2020-3-15 11:50:46

本帖最后由 一个账号 于 2020-3-15 11:57 编辑

永恒的蓝色梦想 发表于 2020-3-15 10:49
一种可能的实现

这样不就行了吗:

import sys

def print(*values, sep=" ", end="\n", file=sys.stdout, flush=False) -> None:
    if not isinstance(sep,str):
      raise TypeError(f'sep must be None or a string, not {type(sep).__name__}')

    elif not isinstance(end,str):
      raise TypeError(f'end must be None or a string, not {type(end).__name__}')

    file.write(sep.join((str(i) for i in values))+end)

    if flush:
      file.flush()

永恒的蓝色梦想 发表于 2020-3-15 11:56:25

一个账号 发表于 2020-3-15 11:50
这样不就行了吗:

那么原先合法的调用print(8,9,sep=None,end=None,file=None)就会出错

一个账号 发表于 2020-3-15 11:58:29

永恒的蓝色梦想 发表于 2020-3-15 11:56
那么原先合法的调用就会出错

哦,知道了

_2_ 发表于 2020-3-26 19:06:18

对这个sys.stdout十分好奇

司马牙 发表于 2020-3-26 22:38:31

这个是天书啊???

永恒的蓝色梦想 发表于 2020-3-27 08:28:13

司马牙 发表于 2020-3-26 22:38
这个是天书啊???

这是啥天书啊,就是个函数

永恒的蓝色梦想 发表于 2020-3-27 08:28:46

_2_ 发表于 2020-3-26 19:06
对这个sys.stdout十分好奇

标准输出,往屏幕上打印的

一个账号 发表于 2020-3-27 09:46:56

_2_ 发表于 2020-3-26 19:06
对这个sys.stdout十分好奇

@_2_ 加个好友{:10_254:}

_2_ 发表于 2020-3-27 19:37:05

一个账号 发表于 2020-3-27 09:46
@_2_ 加个好友

好吧,满足你

永恒的蓝色梦想 发表于 2020-3-27 19:53:37

_2_ 发表于 2020-3-27 19:37
好吧,满足你

你们两个原来不是好友吗?

一个账号 发表于 2020-3-27 19:54:51

永恒的蓝色梦想 发表于 2020-3-27 19:53
你们两个原来不是好友吗?

是呀

一个账号 发表于 2020-3-27 19:55:11

_2_ 发表于 2020-3-27 19:37
好吧,满足你

你为什么要把发消息的权限关掉?

永恒的蓝色梦想 发表于 2020-3-27 19:55:54

一个账号 发表于 2020-3-27 19:55
你为什么要把发消息的权限关掉?

《论@一个账号 和@_2_ 的关系》?

_2_ 发表于 2020-3-27 19:58:44

一个账号 发表于 2020-3-27 19:55
你为什么要把发消息的权限关掉?

是不是因为我屏蔽了一切与你沟通的渠道?

一个账号 发表于 2020-3-27 19:59:11

_2_ 发表于 2020-3-27 19:58
是不是因为我屏蔽了一切与你沟通的渠道?

什么意思?

_2_ 发表于 2020-3-27 19:59:38

一个账号 发表于 2020-3-27 19:59
什么意思?

现在也不好设置

_2_ 发表于 2020-3-27 20:00:16

一个账号 发表于 2020-3-27 19:59
什么意思?

正用手机呢

一个账号 发表于 2020-3-27 20:00:57

本帖最后由 一个账号 于 2020-3-27 20:05 编辑

_2_ 发表于 2020-3-27 20:00
正用手机呢

手机可以切换为电脑表示
页: [1] 2
查看完整版本: Python print() 函数