python基础篇:讲讲python的内置函数一

Python面试篇(一) 本篇大致介绍了面试技巧和Python语言基础,其中生成器的概念和用法、GIL的概念及优化需要清楚 阅读详情

上一篇我们将了什么是函数,函数的定义,函数的调用等。这篇我们讲讲python的内置函数。

IO操作

python基础篇:讲讲python的内置函数一

 

print(*objects, sep=' ', end=' ', file=sys.stdout, flush=False)

打印objects到文本流file,以分隔符sep分隔多个对象,并以end结尾。

语法相关

breakpoint(*args, **kwargs)

此函数会在调用时将你陷入调试器中。具体来说,它调用 sys.breakpointhook(),直接传递 args 和 kws 。默认情况下, sys.breakpointhook() 调用 pdb.set_trace()且没有参数。在这种情况下,它纯粹是一个便利函数,因此您不必显式导入 pdb 且键入尽可能少的代码即可进入调试器。但是, sys.breakpointhook() 可以设置为其他一些函数并被 breakpoint() 自动调用,以允许进入你想用的调试器。

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

将 source 编译成代码或 AST 对象。代码对象可以被 exec() 或 eval() 执行。source 可以是常规的字符串、字节字符串,或者 AST 对象。

ascii(object)

返回一个只用ASCII码表示的对象。类似函数repr()返回一个对象的可打印字符串表示,但是会把其中非ASCII的字符用\x, \u, U进行转义。比如:

In [23]: ascii([1,2,3])
Out[23]: '[1, 2, 3]'
In [24]: ascii('编程')
Out[24]: "'\编\程'"
In [25]: ascii('a
b')
Out[25]: "'a\nb'"

python基础篇:讲讲python的内置函数一

 

repr(object)

返回包含对象的可打印表示的字符串。对于许多类型,此函数尝试返回一个字符串,该字符串在传递给eval()时会产生具有相同值的对象,否则表示形式是一个用尖括号括起来的字符串,它包含对象类型的名称附加信息通常包括对象的名称和地址。 类可以通过定义repr()方法来控制此函数为其实例返回的内容。

In [54]: repr({'a': 1, 'b':2, 'c':3})
Out[54]: "{'a': 1, 'b': 2, 'c': 3}"
In [55]: s = repr({'a': 1, 'b':2, 'c':3})
In [56]: eval(s)
Out[56]: {'a': 1, 'b': 2, 'c': 3}

eval(expression, globals=None, locals=None)

实参是一个字符串,以及可选的 globals 和 locals。globals 实参必须是一个字典。locals 可以是任何映射对象。

这个函数也可以用来执行任何代码对象(如 compile() 创建的)。这种情况下,参数是代码对象,而不是字符串。如果编译该对象时的 mode 实参是 ‘exec’ 那么 eval() 返回值为 None 。

In [17]: a = 2
In [18]: eval('a+2')
Out[18]: 4
In [19]: eval('3*3')
Out[19]: 9
In [20]: d = ascii({'a':1, 'b':2})
In [21]: d
Out[21]: "{'a': 1, 'b': 2}"
In [22]: eval(d)
Out[22]: {'a': 1, 'b': 2}

提示: exec() 函数支持动态执行语句。 globals() 和 locals() 函数各自返回当前的全局和本地字典,因此您可以将它们传递给 eval() 或 exec() 来使用。

input([prompt])

如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。当读取到 EOF 时,则触发 EOFError。例如:

In [25]: s = input('>>')
>>猿人学python
In [26]: s
Out[26]: '猿人学python'

如果加载了 readline 模块,input() 将使用它来提供复杂的行编辑和历史记录功能。

python基础篇:讲讲python的内置函数一

 

open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

打开 file 并返回对应的 file object。如果该文件不能打开,则触发 OSError。

file 是一个 path-like object,表示将要打开的文件的路径(绝对路径或者当前工作目录的相对路径),也可以是要被封装的整数类型文件描述符。(如果是文件描述符,它会随着返回的 I/O 对象关闭而关闭,除非 closefd 被设为 False 。)

mode 是一个可选字符串,用于指定打开文件的模式。默认值是 ‘r’ ,这意味着它以文本模式打开并读取。其他常见模式有:写入 ‘w’ (截断已经存在的文件);排它性创建 ‘x’ ;追加写 ‘a’ (在 一些 Unix 系统上,无论当前的文件指针在什么位置,所有 写入都会追加到文件末尾)。在文本模式,如果 encoding 没有指定,则根据平台来决定使用的编码:使用 locale.getpreferredencoding(False) 来获取本地编码。(要读取和写入原始字节,请使用二进制模式并不要指定 encoding。)可用的模式有:

字符 意义

‘r’ 读取(默认)

‘w’ 写入,并先截断文件

‘x’ 排它性创建,如果文件已存在则失败

‘a’ 写入,如果文件存在则在末尾追加

‘b’ 二进制模式

‘t’ 文本模式(默认)

‘+’ 更新磁盘文件(读取并写入)

‘U’ universal newlines 模式(已弃用)

默认的模式是 ‘r’ (打开并读取文本,同 ‘rt’ )。对于二进制写入, ‘w+b’ 模式打开并把文件截断成 0 字节; ‘r+b’ 则不会截断。

正如在 Overview 中提到的,Python区分二进制和文本I/O。以二进制模式打开的文件(包括 mode 参数中的 ‘b’ )返回的内容为 bytes对象,不进行任何解码。在文本模式下(默认情况下,或者在 *mode* 参数中包含‘t’` )时,文件内容返回为 str ,首先使用指定的 encoding (如果给定)或者使用平台默认的的字节编码解码。

注解 Python不依赖于底层操作系统的文本文件概念;所有处理都由Python本身完成,因此与平台无关。

buffering 是一个可选的整数,用于设置缓冲策略。传递0以切换缓冲关闭(仅允许在二进制模式下),1选择行缓冲(仅在文本模式下可用),并且>1的整数以指示固定大小的块缓冲区的大小(以字节为单位)。如果没有给出 buffering 参数,则默认缓冲策略的工作方式如下:

二进制文件以固定大小的块进行缓冲;使用启发式方法选择缓冲区的大小,尝试确定底层设备的“块大小”或使用 io.DEFAULT_BUFFER_SIZE。在许多系统上,缓冲区的长度通常为4096或8192字节。

“交互式”文本文件( isatty() 返回 True 的文件)使用行缓冲。其他文本文件使用上述策略用于二进制文件。

encoding 是用于解码或编码文件的编码的名称。这应该只在文本模式下使用。默认编码是依赖于平台的(不 管 locale.getpreferredencoding() 返回何值),但可以使用任何Python支持的 text encoding 。有关支持的编码列表,请参阅 codecs 模块。

errors 是一个可选的字符串参数,用于指定如何处理编码和解码错误 – 这不能在二进制模式下使用。可以使用各种标准错误处理程序(列在 Error Handlers ),但是使用 codecs.register_error() 注册的任何错误处理名称也是有效的。标准名称包括:

如果存在编码错误,’strict’ 会引发 ValueError 异常。 默认值 None 具有相同的效果。

‘ignore’ 忽略错误。请注意,忽略编码错误可能会导致数据丢失。

‘replace’ 会将替换标记(例如 ‘?’ )插入有错误数据的地方。

‘surrogateescape’ 将表示任何不正确的字节作为Unicode专用区中的代码点,范围从U+DC80到U+DCFF。当在写入数据时使用 surrogateescape 错误处理程序时,这些私有代码点将被转回到相同的字节中。这对于处理未知编码的文件很有用。

只有在写入文件时才支持 ‘xmlcharrefreplace’。编码不支持的字符将替换为相应的XML字符引用 nnn;。

‘backslashreplace’ 用Python的反向转义序列替换格式错误的数据。

‘namereplace’ (也只在编写时支持)用 N{…} 转义序列替换不支持的字符。

newline 控制 universal newlines 模式如何生效(它仅适用于文本模式)。它可以是 None,”,’ ’,’ ’ 和 ‘ ’。它的工作原理:

从流中读取输入时,如果 newline 为 None,则启用通用换行模式。输入中的行可以以 ‘ ’,’ ’ 或 ‘ ’ 结尾,这些行被翻译成 ‘ ’ 在返回呼叫者之前。如果它是 ”,则启用通用换行模式,但行结尾将返回给调用者未翻译。如果它具有任何其他合法值,则输入行仅由给定字符串终止,并且行结尾将返回给未调用的调用者。

将输出写入流时,如果 newline 为 None,则写入的任何 ‘ ’ 字符都将转换为系统默认行分隔符 os.linesep。如果 newline 是 ” 或 ‘ ’,则不进行翻译。如果 newline 是任何其他合法值,则写入的任何 ‘ ’ 字符将被转换为给定的字符串。

如果 closefd 是 False 并且给出了文件描述符而不是文件名,那么当文件关闭时,底层文件描述符将保持打开状态。如果给出文件名则 closefd 必须为 True (默认值),否则将引发错误。

可以通过传递可调用的 opener 来使用自定义开启器。然后通过使用参数( file,flags )调用 opener 获得文件对象的基础文件描述符。 opener 必须返回一个打开的文件描述符(使用 os.open as opener 时与传递 None 的效果相同)

C语言stdout,stdin流介绍 stdout,stdin, stderr是一个C程序中默认开启的三个数据流(文章只介绍stdout, stdin.)stdout -- 标准输出流 -- 屏幕stdin -- 标准输入流 -- 键盘stderr -- 标准错误流 -- 屏幕我们写程序时,有时想把数据输出到屏幕上,有时想把数据输出到硬盘上,有时候想把数据输出到软盘上,有时想把数据输出到光盘上...所以我们在写程序的时候会经常操控各种各样的硬件,硬件的不同,读写方式也不同,所以我们难道要懂得各种各样硬件的读写方式吗。... 阅读详情

相关推荐

C++中fprintf()函数与stdout、stderr

1 fprintf()函数 fprintf()函数的作用是将格式化的数据打印到流中。该函数的格式为 intfprintf( FILE *stream , const char *format [, argument ]... ); 其中,参数stream表示数据要被打印到的流。对于fprintf()函数的详细用法,请参考《利用文件流实现文件读写》 和《C++中scanf和prin...

hou09tian的博客 1万+

python stdout函数_print()函数 + open()+ stdout()

1.适用场景:向屏幕打印字符串(1)print()函数参数def print(self, *args, sep=' ', end='\n', file=None): # known special case of print"""print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)Prints the values t...

weixin_39761422的博客 725

ESP32、MicroPython、天问ASR-PRO,串口发送数据并播报

天问ASRPRO语音芯片内置脑神经网络处理器,支持DNN、TDNN、RNN等神经网络及卷积运算硬件运算,非软件运算,支持语音识别、声纹识别、语音增强、语音检测、单麦克风降噪增强、单麦克风回声消除、360度全方位拾音等功能。ASR-PRO可以图形化编程,降低开发难度,对小白友好。之前使用ASRPRO与ESP32进行过语音控制,这次由于一个项目需要对ESP处理过后的数据进行播报,就想到利用该模块。以下程序主要为测试代码,并非实际项目,仅供参考学习(若有错误,欢迎指正)。二者通过串口通信,波特率为9600。

weak_student的博客 5951

python stdout_python stdout 什么用

展开全部标准输出(sys.stdout)对应2113的操作就是print(打印5261)了,标准输入4102(sys.stdin)则对应input(接收输入)操作,标准错误输出和标准输1653出类似也是print(打印)。python最基本的操作 - 打印:print 1其效果是把 1 写在console(命令行)里面让你看。实际上他的操作可以理解为:把console(命令行)作为一个板子,通过s...

weixin_39867212的博客 938

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 797

从零到一:用ROS2和Gazebo搭建Franka机械臂仿真环境(避坑指南)

本文详细介绍了如何使用ROS2和Gazebo从零开始搭建Franka机械臂的仿真环境,包括环境准备、ROS2包安装、控制器配置及常见问题解决方案。特别针对关节位置控制等核心功能提供了实用代码示例和避坑指南,帮助开发者高效构建机器人算法验证平台。

weixin_29061465的博客 459

C++——输入输出(stdin,stdout和stderr)、const与指针、const与引用相关问题

C++中的输入输出(stdin,stdout和stderr)const与指针、const与引用相关问题

Singularitys123的博客 1万+

uniapp运行钉钉小程序

因项目原因,公司需要在钉钉里面开发小程序。之前用uniapp开发过app,H5,小程序。还真没尝试过钉钉小程序,今天就简单的记录下uniapp运行钉钉小程序中的过程。

YL 2919

【Python养成】常用内置函数 — 1(详解前8个内置函数)

内置函数有许许多多并且功能强大,内置函数-1

嵌入式up 1564

应急响应之windows日志分析工具logparser使用

windows日志分析工具logparser使用介绍

u013930899的博客 8124

实现端到端加密的WebRTC视频会议终端

需要注意的是,上述示例代码中没有涉及到具体的加密算法和密钥交换过程,而是通过WebRTC API自动处理了加密和密钥交换的细节。然后,我们通过信令服务器将本地SDP发送给对方,并接收对方的SDP。最后,我们将对方的SDP设置为远程描述,并将最终的连接建立起来。最后,我们将对方的SDP设置为远程描述,并建立最终的连接。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。

WaJulia的博客 434

能给我讲讲python基础语法吗

当然可以。Python是一种面向对象的解释型编程语言,具有动态类型、强类型、解释性等特点。下面是 Python 的一些基本语法: Python 使用缩进来表示代码块,不像 C++ 或 Java 使用花括号。 Python 支持多种数据类型,包括数字(整数、浮点数、复数)、字符串、布尔值、列表、元组、字典等。 Python 中的变量不需要声明类型,直接赋值即可。 Python 中有两种注释:...

weixin_35756373的博客 73

48、住宅抵押贷款支持证券的定价、风险评估与结构化设计

本文深入探讨了住宅抵押贷款支持证券(RMBS)的定价、风险评估与结构化设计。内容涵盖提高定价准确性的方差缩减方法,如准蒙特卡罗序列的应用;分析RMBS面临的利率风险、信用风险和模型风险,并提出相应的度量与应对策略;介绍利用动态规划优化CMO分层结构以最大化发行利润的方法。同时总结了RMBS的基本类型、定价流程及市场发展趋势,为投资者和发行人提供全面的决策支持。

quiet的专栏 154

讲讲 Python 的 SansIO

这两天写一个小项目要用到websockets这个库。看了文档以后发现这个库实现了三种接口:asyncio 异步接口;threading 多线程接口,SansIO 接口。当时我一看有点蒙,SansIO 是个啥,从来没听说过,于是搜索了官方资料。无奈官方文档有点难读,而且中文互联网上也没有相应的介绍。于是我阅读了一些英文资料,结合自己的理解,尝试写一篇文章讲讲这个概念。我们介绍了 SansIO 的基本概念及其“解耦”的设计哲学。

m0_58477260的博客 1130

dht11在oled上显示温度 stm32l432kc,如何实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1201

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python函数精讲讲(1)

文章目录函数简介函数的定义函数的使用调用函数函数传参位置参数关键字参数默认参数不定长参数参数解包 函数简介 【print()】输出函数,【str()】等类型转换函数等等。这些其实都是Python的内置函数,也就是Python语言本身就提供的。 比如:当你饿了的时候,喊了一嗓子:"妈,我饿了,给我做个饭吧!"这就是非常典型的「函数的调用」。妈妈是提供了做饭的函数,而我们调用了这个函数。而做饭的这个函数其实就是一系列加油盐,翻炒动作的封装。 函数的定义 语法: def func(形参,形参,形参...): 代

xdc1812547560的博客 5615

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

一日一技:讲讲大数定理

文章来源:俊红的数据分析之路作者:张俊红前面我们讲过中心极限定理,没看过的同学可以去看看:讲讲中心极限定理。这一节来讲讲大数定理,大数定理和中心极限定理是比较接近的两个概念,这两个定理经...

简说Python的博客 612

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

内置函数

for循环 for循环相对于while循环更适合用于循环取值这一方面。 for的用法 for i in range(5): ​ print(i) 这是循环输出变量值0,1,2,3,4 除了去数字还可以取列表,字典,字符串 for i in range [‘1’,‘2’,‘3’,‘4’,‘5’]: ​ print(i) 这是按列表的顺序从左到右输出结果为1,2,3,4,5 for i in r...

yhwu123的博客 245

量化分析师的Python日记【第1天:谁来给我讲讲Python?】

转自q.datayes.com “谁来给我讲讲Python?” 作为无基础的初学者,只想先大概了解一下Python,随便编个小程序,并能看懂一般的程序,那些什么JAVA啊、C啊、继承啊、异常啊通通不懂怎么办,于是我找了很多资料,写成下面这篇日记,希望以完全初学者的角度入手来认识Pyt...

chenjuan0291的博客 206

讲讲Python中的函数传递问题 【文末送书】

正式的Python专栏第25篇,同学站住,别错过这个从0开始的文章! 前篇讲了python中的函数和高阶函数,这篇再把函数的其他部分补充一下,稍微轻松简单一些。 文末评论送书,学委会用这个抽奖程序来进行严格抽奖,周六晚上10点整定时抽奖并视频公布出来,敬请期待。 函数参数传递 key-value方式传递参数: def show_info(name, title): print("姓名为:",name) print("职称为:",title) 我们在使用的时候可以用以下的方式: sho.

持续学习持续开发,我是雷学委! 3617

Python代码写好了怎么运行?为大家详细讲讲如何运行Python代码

Python代码写好了怎么运行?相信问这样问题的朋友一定是刚刚入门Python的初学者。本文就来为大家详细讲讲如何运行Python代码。一般来讲,运行Python代码的方式有两种,一是在Python交互式命令行下运行;另一种是使用文本编辑器,在命令行中直接运行。这两种方法各有优缺点,下面我们以hello world来举例,为大家打开Python学习的大门,现在就一起看看吧! 1、P...

qq_46614154的博客 4万+

第1天:谁来给我讲讲Python?

“谁来给我讲讲Python?”作为无基础的初学者,只想先大概了解一下Python,随便编个小程序,并能看懂一般的程序,那些什么JAVA啊、C啊、继承啊、异常啊通通不懂怎么...

人生代码 ---- 公众号 440

python基础篇——简单编码与解码的战争

python基础篇——简单编码与解码的战争   hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。 简单编码与解码之战python基础篇——简单编码与解码的战争1. 计算机的编码2. 二进制3. 编码表4. 编码encode()与解码decode()总结 想必大家在日常的网络生活中,有时会遇到打开一些文件时出现不认识的“外星文”。 你是不是顿时就感觉头大了,反正我看到时是这样的!!!! 然后,是这样的!!! 1. 计算机的编码   我们都

wakeyo_J 的博客 698

讲讲Print里面还有什么参数可以设置

总第246篇/张俊红学过Python的人应该对print函数再熟悉不过了,几乎每一个学Python的人写下的第一行代码都是:print('helloworld') 通过...

张俊红的个人博客 792

如何快速学python?讲讲我的方式吧

学习Python,其实本身是一件非常逆人性的事,很多想要快速学Python的人,看到一篇好的技术文,第一反应先收藏,然后想着以后有时间慢慢的看。但 99% 的人收藏之后再也不会去看。 而且同样一份python教程,有的人看完就可以熟练掌握,而有的人却一点收获都没有。有的人越学技术越厉害,而有的人越学越觉得学python非常痛苦,学了好久还是写不出程序。 我最开始学习Python的时候也是如此,摸...

weixin_46299885的博客 209
上一篇: 你用的Python标准库可能快被移除了!
下一篇: 如何使用Python爬取毛概题库
程序员林子
博客等级 码龄7年 369粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值