Python从入门到网络爬虫(内置函数详解)

前言

Python 内置了许多的函数和类型,比如print(),input()等,我们可以直接在程序中使用它们,非常方便,并且它们是Python解释器的底层实现的,所以效率是比一般的自定义函数更有效率。目前共有71个内置函数, 接下来让我们一起来看一看吧。

Python学习-71个内置函数,我们把这71个按照功能分类一下,便于记忆。

一、输入输出

  • print():打印输出文本
  • input():获取用户输入文本
print('hello world') 
#控制台输出 hello worlds = input('等待你的输入:') 
print('你输入的内容是' + s) 
#再与用户交互中可以使用input来获取到用户的指令。

二、基本数据类型

1、数字

  • int():整型
# 直接赋值
a = 1# 类型转换
b = int('2')
  • float():浮点型
# 直接赋值
a = 1.0# 类型转换
b = float('2.0')
  • bool():布尔型
# 直接赋值
a = True# 类型转换
b = bool(0)
  • complex():复数类型
# 复数类型结构为 a + bj,其中 a 为实部,b 为虚部
data1 = 1 + 2j
data2 = 2 + 3j
print("data1 + data2 :", data1 + data2)
# 运行结果
# data1 + data2 : (3+5j)

2、字符串

  • str():字符串类型
# 直接赋值
str1 = 'abcd'# 类型转换
string = str(123456)

3、列表

  • list():列表类型,将一个可迭代对象转换为列表
# 直接赋值,用中括号包裹,用逗号分隔元素
list1 = [1, 2, 3, 4, 5]# 可以利用range函数赋值
list2 = list(range(1, 10))

4、元组

  • tuple():元组类型,将一个可迭代对象转换为元组
# 直接赋值,使用小括号包裹,用逗号分隔元素(小括号其实也可以省略)
tuple1 = ("Python教程", "学习Python")# 使用tuple函数创建
tuple2 = tuple("hello")

5、集合

  • set():集合类型,创建一个集合
# set集合接受可迭代对象作为参数
set1 = set([1, 2, 3, 4, 5])
set2 = set(('python', 'xiaolong'))

6、字典

  • dict():字典类型,创建一个字典
# 直接赋值,使用花括号包裹,key和value中间使用冒号,用逗号分隔元素
dict1 = {'品类': '苹果', '价格': '10'}# 使用zip函数将两个列表转为字典
keys = ['苹果', '梨', '香蕉']
values = [10, 20, 30]
dict2 = dict(zip(keys, values))

三、数学运算

  • abs():返回绝对值
a = abs(-11)
  • divmod():返回商和余数
a = divmod(5, 3)print(a) # (1, 2)
  • round():四舍五入
a = round(10.2453, 2)print(a) # 10.25
  • pow(a,b):返回a的b次幂,如果有第三个参数,则求完幂次后对第三个数取余
a = pow(10, 2)print(a)  # 100
  • sum():求和
list1 = [1, 2, 3, 4, 5]
a = sum(list1)print(a) # 15
  • min():求最小值
list1 = [1, 2, 3, 4, 5]
a = min(list1)print(a) # 1
  • max():求最大值
list1 = [1, 2, 3, 4, 5]
a = max(list1)print(a) # 5

四、进制转换

  • bin():将给定的参数转换为二进制
a = bin(6)
print(a) # 0b110 6的二进制是110
  • oct():将给定的参数转换为八进制
a = oct(8)
print(a) # 0o10
  • hex():将给定的参数转换为十六进制
a = hex(8)
print(a) # 0x8

五、序列集合操作

  • reversed():将一个序列翻转,返回一个反向的迭代器
# reversed接受一个序列参数,返回的是一个逆迭代对象,所以需要在使用序列再转换回去
list1 = [1, 2, 3, 4, 5]
print(list(reversed(list1)))# 输出[5, 4, 3, 2, 1]
  • slice():列表的切片
# slice主要做序列切片,可以从其中切取部分重新组成新的序列
list1 = [1, 2, 3, 4, 5]
s = slice(1, 3)
print(list1[s])# 推荐使用简写方式:lst[start:stop]
list1 = [1, 2, 3, 4, 5]
print(list1[1:3])
  • bytes():把字符串转化为bytes类型
b = bytes('hello world', encoding='utf-8')
print(b) # b'@\xe7\xa8\x8b\xe5\xba\x8f\xe5\x91\x98\xe5\xb0\x8f\xe9\xbe\x99'
  • ord():输入字符找到对应编码的位置
print(ord('a'))   # 97
print(ord('小'))  # 31243
  • chr():输入位置数字找出对应的字符
# 输出33~1000数字对应的字符
for i in range(33, 1000):print(chr(i), end=' ')
  • ascii():将Unicode字符串转换为ASCII字符串
print(ascii('Hello World\n'))#'Hello,@\u7a0b\u5e8f\u5458\u5c0f\u9f99\n'
  • repr():返回一个对象的字符串形式
# repr原样输出,会过滤掉转义字符
s = 'Hello World'
print(s) # Hello,     
print(repr(s)) # 'Hello,World\n'
  • len():返回一个对象中元素的个数
# 获取个数
list1 = [1, 2, 3, 4, 5]
print(len(list1))
  • sorted():对可迭代对象进行排序操作
# 对迭代对象进行排序,可以选择正序,逆序
list1 = [1, 5, 8, 3, 4, 2]
print(sorted(list1))
print(sorted(list1, reverse=True))# 自定义规则
list2 = ['one', 'two', 'three', 'four', 'five', 'six']
def func(s):return len(s)
print(sorted(list2, key=func))
  • enumerate():获取集合的枚举对象
score_dict = {'张三': 33,'李四': 36,'王五': 74,'赵六': 56,'李白': 88,'王维': 98,'杜甫': 100,'王昌龄': 89,'王之涣': 97,'王羲之': 93
}score_dict_sorted = sorted(score_dict.items(), key=lambda x:x[1], reverse=True)for index, (name, score) in enumerate(score_dict_sorted, start=1):print(f'第{index}名:{name}\t成绩:{score}')# 第1名:杜甫        成绩:100
# 第2名:王维        成绩:98
# 第3名:王之涣      成绩:97
# 第4名:王羲之      成绩:93
# 第5名:王昌龄      成绩:89
# 第6名:李白        成绩:88
# 第7名:王五        成绩:74
# 第8名:赵六        成绩:56
# 第9名:李四        成绩:36
# 第10名:张三       成绩:33
  • all():可迭代对象中所有元素都为True,返回结果才为True
  • any():可迭代对象中只要有一个是True,返回结果就是True
  • zip():在多个迭代器上并行迭代,从每个迭代器返回一个数据项组成元组,如果各个迭代器的元素个数不同,则返回列表长度与最短的对象相同
# zip可以将多个迭代器转换成元组
list1 = [1, 2, 3]
list2 = ['苹果', '香蕉', '梨']
list3 = [10, 20, 15]for data in zip(list1, list2, list3):print(data)# (1, '苹果', 10)
# (2, '香蕉', 20)
# (3, '梨', 15)
  • filter():过滤器可以接收一个自定义筛选函数,将迭代器中的元素传到函数中进行判断,用来确定是否保留这个元素。
# 过滤出数据中的偶数
def func(i):return i % 2 == 0list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = filter(func, list1)
print(list(lst))# [2, 4, 6, 8]
  • map():可以对可迭代对象中的元素进行映射,分别去执行自定义函数
# 给数据中每个元素加1
def func(i):return i + 1list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = map(func, list1)
print(list(lst))# [2, 3, 4, 5, 6, 7, 8, 9, 10]

六、文件操作

  • open():用于打开一个文件,创建文件句柄
f = open("name.txt", 'r', encoding='utf-8')
f.read()
f.close()

七、和迭代器相关

  • range():生成可迭代数据
  • next():迭代器向下执行一次
  • iter():获取迭代器
# 使用range生成数据给列表
# iter获取序列的一个迭代器,然后可以使用next进行逐个输出
list1 = list(range(1, 6)) # [1, 2, 3, 4, 5]
it = iter(list1)
print(next(it)) # 1

八、作用域相关(用于查错)

  • locals():返回当前作用域中的变量名字
  • globals():返回全局作用域中的变量名字
# 当前作用域和全局作用域的用法
def func():a = 100b = 'abc'print(locals())print('-------')print(globals())func()
# {'a': 100, 'b': 'abc'}
#-------
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x10e13ef70>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/Users/troy/Documents/2_team-workspace/python-dev/0_utils/1.py', '__cached__': None, 'func': <function func at 0x10e1430d0>}

九、其他

  • help():函数用于查看其他函数或者模块的说明
# 获取list函数的帮助文档
print(help(list))
  • callable():用于检查一个对象是否可以调用
s = 'Hello World'
print(callable(s))  # Falsedef hello():pass
print(callable(hello))  # True
  • hash():获取到hash值,用于做key
# 基本使用方法,hash是唯一的,可以用来做数据的key值
s = 'Hello World'
print(hash(s))
  • dir():查看对象的内置属性
# 查询str的内置方法
print(dir(str))
  • __import__():用于动态加载类和函数
# 动态加载os模块
name = input("请输入你要导入的模块:")  # 输入os
os = __import__(name)
print(os.getcwd())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/232069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

联合体类型和枚举类型

联合体 联合体类型的声明 像结构体⼀样&#xff0c;联合体也是由⼀个或者多个成员构成&#xff0c;这些成员可以不同的类型。 联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫&#xff1a;共⽤体。 所以给联合体其中⼀个成员赋值&#xff0c;其他成员的值也跟着…

新手养布偶猫如何选择猫主食冻干?K9、sc、希喂三个品牌推荐!

布偶猫是食肉动物&#xff0c;但由于肠胃脆弱敏感&#xff0c;所以在饮食上需要特别关注哦&#xff01;为了给它们最好的呵护&#xff0c;现在有了主食冻干这种优质猫主食&#xff01;它不仅符合猫咪的天然饮食习惯&#xff0c;还用了新鲜生肉做原料呢&#xff01;营养满分不说…

腾讯云2核2G3M服务器可以运行几个网站?

在探讨这个问题之前&#xff0c;我们需要先了解网站运行所需的基本资源。一个网站的运行通常需要以下几个方面的资源&#xff1a;CPU、内存、磁盘和网络。接下来&#xff0c;我们将分析这些资源在不同配置下的使用情况&#xff0c;以确定腾讯云2核2G3M服务器可以运行多少个网站…

计算机毕业设计 SpringBoot的中小型制造企业质量管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

基于JavaWeb+SSM+Vue家政项目微信小程序系统的设计和实现

基于JavaWebSSMVue家政项目微信小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 2…

element-ui table height 属性导致界面卡死

问题: 项目上&#xff0c;有个点击按钮弹出抽屉的交互, 此时界面卡死 原因分析: 一些场景下(父组件使用动态单位/弹窗、抽屉中使用), element-ui 的 table 会循环计算高度值, 导致界面卡死 github 上的一些 issues 和解决方案: Issues ElemeFE/element GitHub 官方讲是升…

基于粒子群算法的曲面路径优化

目录 摘要 测试函数shubert 粒子群算法的原理 粒子群算法的主要参数 粒子群算法原理 粒子群算法参数拟合 代码 结果分析 展望 基于粒子群算法的曲面路径优化(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88698419 摘要 寻优算法,…

九州金榜|父母忙碌,更要高质量陪伴孩子

逐渐加快的生活节奏让每一个人都在马不停蹄的运转&#xff0c;愈加优越的生活条件也让人们对生活环境有更高的要求&#xff0c;这让很多家长在创造物质条件时却疏于对孩子的家庭教育。 这些家长也意识到了这种做法下的危害&#xff0c;但是却不愿为此改变&#xff0c;甚至在不忙…

JAVAEE初阶相关内容第二十弹--HTTP协议【续集】

写在前&#xff1a;在前一篇博客中我们初步掌握了HTTP(超文本传输协议)的相关知识【点击跳转】&#xff0c;认识了HYYP协议的工作过程&#xff0c;掌握抓包工具Fiddler的使用。在“方法”中重点需要理解“GET”方法与“POST”方法的格式与内容&#xff0c;并了解了请求“报头”…

C++:stack、queue、priority_queue增删查改模拟实现、deque底层原理

C:stack、queue、priority_queue增删查改模拟实现 前言一、Cstack的介绍和使用1.1 引言1.2 satck模拟实现 二、Cqueue的介绍和使用2.1 引言2.2 queue增删查改模拟实现 三、STL标准库中stack和queue的底层结构:deque3.1 deque的简单介绍(了解)3.2 deque的缺陷3.3 为什么选择dequ…

Spring Boot实现数据加密脱敏:注解 + 反射 + AOP

文章目录 1. 引言2. 数据加密和脱敏的需求3. Spring Boot项目初始化4. 敏感数据加密注解设计5. 实现加密和脱敏的工具类6. 实体类和加密脱敏注解的使用7. 利用AOP实现加密和脱敏8. 完善AOP切面9. 测试10. 拓展功能与未来展望10.1 加密算法的选择10.2 动态注解配置 11. 总结 &am…

IoTDB 集群部署——windows

本文的测试环境为window server2016&#xff0c;版本包为1.1.0&#xff0c;jdk版本为1.8 首先下载IoTDB版本包&#xff0c;链接地址如下 https://archive.apache.org/dist/iotdb/1.1.0/apache-iotdb-1.1.0-all-bin.zip 本次部署将使用1个ConfigNode 和3个DataNode模式&#…

Rancher 单节点 docker 部署备份与恢复

Rancher 单节点 docker 部署备份与恢复 1. 备份集群 获取 rancher server 容器名&#xff0c;本例为 angry_aryabhata docker ps | grep rancher/rancher6a27b8634c80 rancher/rancher:v2.5.14 xxx angry_aryabhata停止容器 docker stop angry_aryabhata创建备…

深入理解Vue3中的自定义指令

Vue3是一个流行的前端框架&#xff0c;它引入了许多新特性和改进&#xff0c;其中之一是自定义指令。自定义指令是一种强大的功能&#xff0c;可以让开发者在模板中直接操作 DOM 元素。本文将深入探讨 Vue3中的自定义指令&#xff0c;包括自定义指令的基本用法、生命周期钩子函…

uniappVue3版本中组件生命周期和页面生命周期的详细介绍

一、什么是生命周期&#xff1f; 生命周期有多重叫法&#xff0c;有叫生命周期函数的&#xff0c;也有叫生命周期钩子的&#xff0c;还有钩子函数的&#xff0c;其实都是代表&#xff0c;在 Vue 实例创建、更新和销毁的不同阶段触发的一组钩子函数&#xff0c;这些生命周期函数…

Flutter 混合开发 - aar打包

背景 项目接入 Flutter 后有两种方式&#xff0c;一种是 module 引入开发&#xff0c;一种是 aar 依赖开发。当前项目中在 Debug 阶段为了方便调试采用 module 开发&#xff0c;在发版时&#xff08;即 Release 阶段&#xff09;采用 aar 依赖引入。为了配合这种模式就需要在 …

个人笔记:分布式大数据技术原理(一)Hadoop 框架

Apache Hadoop 软件库是一个框架&#xff0c;它允许使用简单的编程模型&#xff0c;实现跨计算机集群的大型数据集的分布式处理。它最初的设计目的是为了检测和处理应用程序层的故障&#xff0c;从单个机器扩展到数千台机器&#xff08;这些机器可以是廉价的&#xff09;&#…

学会视频剪辑方法:从视频中提取封面,增加视频观看量

在数字媒体时代&#xff0c;视频已经成为信息传递的主要方式之一。那如何让视频在众多内容中脱颖而出&#xff0c;吸引更多的观众呢&#xff1f;除了内容本身的质量外&#xff0c;视频的封面也是吸引的关键因素之一。下面一起看云炫AI智剪如何通过视频剪辑方法从视频中提取封面…

Vue框架底层

一、前端框架的由来 1、服务端渲染 sequenceDiagram 浏览器->>服务器: https://www.bilibili.com/ Note right of 服务器: 组装页面(服务端渲染) 服务器->>-浏览器: 完整页面2、前后端分离 sequenceDiagram 浏览器->>服务器: https://www.bilibili.com/ 服务…

2023 年中国高校大数据挑战赛赛题B DNA 存储中的序列聚类与比对-解析与参考代码

题目背景&#xff1a;目前往往需要对测序后的序列进行聚类与比对。其中聚类指的是将测序序列聚类以判断原始序列有多少条&#xff0c;聚类后相同类的序列定义为一个簇。比对则是指在聚类基础上对一个簇内的序列进行比对进而输出一条最有 可能的正确序列。通过聚类与比对将会极大…