Python基础手册7——内建函数

一、常用内建函数



1、打印操作:print() 函数

我们使用 print() 函数将内容打印到标准输出(默认为屏幕)上。从技术角度来讲,print() 函数可以把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流。

调用格式:

print( [ object, ... ] [ , sep=' ' ] [ , end="\n" ] [ , file=sys.stdout ] )

方括号中的项是可选的,并且可能会在一个给定的调用中省略,并且 = 后面的值都给出了参数的默认值。这个内置的函数把字符串sep(默认为空格)所分隔开的一个或多个对象的文本表示,后面跟着字符串end,都打印到流file(默认为标准输出)中。

参数说明:

sep:
sep在每个对象的文本之间插入一个字符串,如果没有传递的话,它默认的是一个单个的空格字符,可以通过传递一个空字符串来抑制分隔符。

end:
end是添加在打印文本末尾的一个字符串,如果没有传递的话,它默认的是 \n 换行字符。传递一个空字符串将会避免在打印的文本的末尾移动到下一个输出行——下一个 print() 将会保持添加到当前输出行的末尾。

file:
fiel指定了文本将要发送到的文件、标准流或者其他类似文件的对象。如果没有传递的话,他默认的是 sys.stdout 。带有一个类似文件的 write(string) 方法的任何对象都可以传递,但真正传递的文件应该已经为了输出而打开。

sep、end、和file参数如果给出的话,必须作为关键字参数方式来给定。他们可以以任何顺序出现,但是必须出现在所有要打印的对象的后面。

使用print() 语句打印变量内容时,调用 str() 函数显示对象,而在交互式解释器中直接使用变量名称时,则调用 repr() 函数来显示对象。

Python 的 print() 语句,与字符串格式运算符 % 或者字符串方法 .format() 结合使用,可实现字符串替换功能。



在Python中,打印与文件和流的概念紧密相连:

文件对象方法:

文件写入方法是把字符串写入到任意的文件,print() 默认的把对象打印到 stdout 流,并添加了一些自动的格式化。和文件方法不同,在使用打印操作的时候,不需要把对象主动转换为字符串,print() 函数默认会调用 str() 方法,帮你自动转换。

标准输出流:

标准输出流(通常叫做stdout)只是发送一个程序的文本输出的默认的地方。加上标准输入流和错误流,他只是脚本启动时所创建的3种数据连接的一种。标准输出流通常映射到启动
Python程序 的窗口,除非它已经在操作系统的shell中重定向到了一个文件或管道。

打印流重定向

通常来说 print() 和sys.stdout 的关系如下:

print(x, y)

等价于:

import sys
sys.stdout.write(str(x) + ' ' + str(y) + '\n')

注意:最后的4是字符串的write()方法默认返回的输出的字符数。

我们可以把 sys.stdout 重设成已打开的文件对象。重设之后,程序中任何地方的print() 语句都会将文字写到文件中(具体位置根据文件的打开方式确定),而不是原始的标准输出流。因为你的进程中只有一个sys模块,通过这种方式赋值 sys.stdout 会把程序中任何地方的每个 print() 都进行重定向。

因为 sys.stdout 只是普通的文件对象,你可以存储他,需要时恢复它。



2、程序输入:input() 函数

从用户那里得到数据输入的最容易的方法是使用 input() 内建函数。 它读取标准输入 stdin,并将读取到的数据以 字符串格式 赋值给指定的变量。

你可以使用 int() 内建函数将用户输入的字符串转换为整数。使用 type() 函数可以查看变量类型。



3、交互式解释器中获得帮助:help() 函数

以一种整齐美观的形式 显示对象的文档字符串, 如果没有提供任何参数, 则会进入交互式帮助。在学习 Python 的过程中,如果需要得到一个生疏函数的帮助,只需要对它调用内建函数 help()。通过用函数名作为 help() 的参数就能得到相应的帮助信息:



4、显示对象的类型:type() 函数

Python 不支持方法或函数重载, 因此你必须自己保证调用的就是你想要的函数或对象。确认接收到的类型对象的身份有很多时候都是很有用的。 为了达到此目的,Python 提供了一个内建函数 type()。 type()返回任意 Python 对象对象的类型,而不局限于标准类型。

在 Python2.2 以前, type() 是内建函数。不过从那时起,它变成了一个“工厂函数”。 在本章的后面部分我们会讨论工厂函数, 现在你仍然可以将 type()仅仅当成一个内建函数来看。

type() 的用法如下:

type(object)

type() 接受一个对象做为参数,并返回它的类型。它的返回值是一个类型对象。

在上面的例子里, 我们通过内建函数 type() 得到了一个整数和一个字符串的类型;为了确认一下类型本身也是类型, 我们对 type()的返回值再次调用 type()。它看上去不象一个典型的 Python 数据类型, 比如一个整数或一个字符串,一些东西被一个大于号和一个小号包裹着。这种语法是为了告诉你它是一个对象。每个对象都可以实现一个可打印的字符串表示。不过并不总是这样, 对那些不容易显示的对象来说, Python 会以一个相对标准的格式表示这个对象, 格式通常是这种形式: <object_something_or_another> , 以这种形式显示的对象通常会提供对象类别,对象 id 或位置, 或者其它合适的信息。


5、显示对象的属性 dir() 函数

内置的dir() 函数是抓取对象内所有属性列表的简单方式(例如,对象的方法以及数据项)。它能够调用任何有属性的对象。

dir() 可以作为记忆提醒器,提供属性名称的列表,但并没有告诉那些名称的意义是什么。




二、类型工厂函数

Python 2.2 统一了类型和类, 所有的内建类型现在也都是类, 在这基础之上, 原来的所谓内建转换函数象 int(), type(), list() 等等, 现在都成了工厂函数。 也就是说虽然他们看上去有点象函数, 实质上他们是类。当你调用它们时, 实际上是生成了该类型的一个实例, 就象工厂生产货物一样。

  • int(), float(), complex()
  • str()
  • list(), tuple()
  • type()

以前没有工厂函数的其他类型,现在也都有了工厂函数。除此之外,那些支持新风格的类的全新的数据类型,也添加了相应的工厂函数。下面列出了这些工厂函数:

  • dict()
  • bool()
  • set(), frozenset()
  • object()
  • classmethod()
  • staticmethod()
  • super()
  • property()
  • file()


《Python基础手册》系列:

Python基础手册 1 —— Python语言介绍
Python基础手册 2 —— Python 环境搭建(Linux)
Python基础手册 3 —— Python解释器
Python基础手册 4 —— 文本结构
Python基础手册 5 —— 标识符和关键字
Python基础手册 6 —— 操作符
Python基础手册 7 —— 内建函数
Python基础手册 8 —— Python对象
Python基础手册 9 —— 数字类型
Python基础手册10 —— 序列(字符串)
Python基础手册11 —— 序列(元组&列表)
Python基础手册12 —— 序列(类型操作)
Python基础手册13 —— 映射(字典)
Python基础手册14 —— 集合
Python基础手册15 —— 解析
Python基础手册16 —— 文件
Python基础手册17 —— 简单语句
Python基础手册18 —— 复合语句(流程控制语句)
Python基础手册19 —— 迭代器
Python基础手册20 —— 生成器
Python基础手册21 —— 函数的定义
Python基础手册22 —— 函数的参数
Python基础手册23 —— 函数的调用
Python基础手册24 —— 函数中变量的作用域
Python基础手册25 —— 装饰器
Python基础手册26 —— 错误 & 异常
Python基础手册27 —— 模块
Python基础手册28 —— 模块的高级概念
Python基础手册29 —— 包

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容