python基础有哪些内容,python基础有哪些

这篇具有很好参考价值的文章主要介绍了python基础有哪些内容,python基础有哪些。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇文章给大家谈谈python基础有哪些内容,以及python基础有哪些,希望对各位有所帮助,不要忘了收藏本站喔。

python基础有哪些内容,python基础有哪些,人工智能

Source code download: 本文相关源码

前言

1、Os模块;OS模块 提供方便的使用操作系统函数的方法

OS部分常用方法: (文末送读者福利)

os.remove() 删除文件

os.unlink() 删除文件

os.rename() 重命名文件

os.listdir() 列出指定目录下所有文件

os.getcwd() 获取当前文件路径

os.mkdir() 新建目录

os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())

os.makedirs() 创建多级目录

os.system() 执行操作系统命令

os.execvp() 启动一个新进程

os.execvp() 执行外部程序脚本(Uinx)

2、Sys模块;SYS 模块 提供可供访问由解释器使用或维护的变量和与解释器进行交互的函数。

简单来说os负责程序与操作系统的交互,提供程序访问操作系统底层的接口;sys主要负责程序与python解析器的交换,提供一系列函数与变量,用于操控pyhton的运行环境python流星雨教学。(文末送读者福利)

Sys常用方法:

sys.argv 命令行参数List,第一个元素是程序本身路径

sys.modules.keys() 返回所有已经导入的模块列表

sys.exit(n) 退出程序,正常退出时exit(0)

sys.version 获取Python解释程序的版本信息

sys.platform 返回操作系统平台名称

sys.stdout 标准输出

sys.stdout.writelines() 无换行输出

sys.stdin 标准输入

sys.stdin.read() 输入一行

sys.stderr 错误输出

sys.executable Python解释程序路径

sys.getwindowsversion() 获取Windows的版本

3、Xpath模块

XPath 是一门在 XML 文档中查找信息的语言,它包含一个标准函数库。简而言之,xpath是在xml文档中,根据路径查找元素的语法。

xpath常用术语:

元素:文档树中的标签就是一个元素。

节点:表示xml文档树的某一个位置,例如 / 代表根节点,代表文档树起始位置,元素也可以看成某一位置上的节点。

属性:<title lang="eng">Harry Potter</title>中 lang就是某一个节点的属性。

文本:<title lang="eng">Harry Potter</title>中Harry Potter就是文本。

4、re模块;正则表达式(英语:Regular Expression,常简写为regex、regexp或RE),又称正则表示式、正则表示法、规则表达式、常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本,简而言之,正则就是使用特殊字符来匹配特定文本达到提取数据的目的。

Re正则表达式常用语法:

'^' 匹配字符串开头

‘$’ 匹配结尾

'\d' 匹配数字,等于[0-9] re.findall('\d','电话:10086')结果['1', '0', '0', '8', '6']

'\D' 匹配非数字,等于[^0-9] re.findall('\D','电话:10086')结果['电', '话', ':']

'\w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']

'\s' 匹配空白字符 re.findall('\s','3*ds \t\n')结果[' ', '\t', '\n']

'\S' 匹配非空白字符 re.findall('\s','3*ds \t\n')结果['3', '*', 'd', 's']

'\A' 匹配字符串开头

'\Z' 匹配字符串结尾

'\b' 匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的

'\B' 与\b相反,只在当前位置不在单词边界时匹配

5、Parsel模块;parsel模块众所周知是一个python的第三方库,其作用和功能等价于css选择器,xpath和re的集合版。和其他解析模块相比,例如BeautifulSoup,xpath等,parsel效率更高,使用更简单。

import requests

import parsel response = requests.get(url)

sel = parsel.Selector(response.text) #注意这里的S要大写 # re正则

# print(sel.re('正则匹配格式')) # xpath

# print(sel.xpath('xpath').getall()) #getall获取所有 # css选择器

# print(sel.css('css选择器 ::text').extract_first())#获取第一个

6、Urlparse模块;urlparse模块主要是用于解析url中的参数,对url按照一定格式进行拆分或拼接。urlparse 这个模块在 python 3.0 中 已经改名为 urllib.parse。

Urlparse这个第三方模块中包含的函数有urljoin、urlsplit、urlunsplit、urlparse等。

如,urlparse.urlparse:

将URL分解为6个片段,返回一个元组,包括协议、基地址、相对地址等等

import urlparse
url = urlparse.urlparse('http://blog.csdn.net/?ref=toolbar')
print url

输出结果为:

ParseResult(scheme='http', netloc='blog.csdn.net', path='/', params='', query='ref=toolbar', fragment='')

scheme是协议,netloc是服务器地址,path是相对路径,params是参数,query是查询的条件。

如果知道服务器的地址的话,可以以服务器的地址为基地址,拼接其他的相对路径,组成新的URL。

7、Soket模块

socket也称作‘套接字,用于描述IP地址和端口,是一个通信的终点。

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

socket和file的区别:

file模块是针对某个指定文件进行【打开】【读写】【关闭】

socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】
python基础有哪些内容,python基础有哪些,人工智能
8、Threading模块

该模块在较低级别thread模块之上构建更高级别的线程接口。另请参见mutex和Queue模块。

hreading提供了一个比thread模块更高层的API来提供线程的并发性。这些线程并发运行并共享内存。

下面来看threading模块的具体用法:

一、Thread的使用,目标函数可以实例化一个Thread对象,每个Thread对象代表着一个线程,可以通过start()方法,开始运行。

这里对使用多线程并发,和不适用多线程并发做了一个比较:

首先是不使用多线程的操作:

代码如下:

#!/usr/bin/python

#compare for multi threads

import time

def worker():

print "worker"

time.sleep(1)

return

if __name__ == "__main__":

for i in xrange(5):

worker()

下面是使用多线程并发的操作:

代码如下:

#!/usr/bin/python

import threading

import time

def worker():

print "worker"

time.sleep(1)

return

for i in xrange(5):

t = threading.Thread(target=worker)

t.start()

可以明显看出使用了多线程并发的操作,花费时间要短的很多。

9、Types模块:

types是什么:

types模块中包含python中各种常见的数据类型,如IntType(整型),FloatType(浮点型)等等。

types常见用法:

# 100是整型吗?
>>> isinstance(100, types.IntType)
True
>>>type(100)
int

# 看下types的源码就会发现types.IntType就是int

>>> types.IntType is int

True

但有些类型并不是int这样简单的数据类型:

class Foo:

def run(self):

return None

def bark(self):

print('barking')

a = Foo()

print(type(1))

print(type(Foo))

print(type(Foo.run))

print(type(Foo().run))

print(type(bark))

输出结果:

<class 'int'>

<class 'type'>

<class 'function'>

<class 'method'>

<class 'function'>

10、selenium模块

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题

selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器

from selenium import webdriver

browser=webdriver.Chrome()

browser=webdriver.Firefox()

browser=webdriver.PhantomJS()

browser=webdriver.Safari()

browser=webdriver.Edge()

from selenium import webdriver

from selenium.webdriver import ActionChains

from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR

from selenium.webdriver.common.keys import Keys #键盘按键操作

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素

browser=webdriver.Chrome()

try:

browser.get('https://www.baidu.com')

input_tag=browser.find_element_by_id('kw')

input_tag.send_keys('美女') #python2中输入中文错误,字符串前加个u

input_tag.send_keys(Keys.ENTER) #输入回车

wait=WebDriverWait(browser,10)

wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等到id为content_left的元素加载完毕,最多等10秒

print(browser.page_source)

print(browser.current_url)

print(browser.get_cookies())

finally:

browser.close()

11、Pygame模块;是一个简单的游戏开发功能库

在python中开发游戏,通常会用到pygame这个模块。

pygame模块总览:
python基础有哪些内容,python基础有哪些,人工智能
12、numpy

NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

一个强大的 N 维数组对象 ndarray

广播功能函数

整合 C/C++/Fortran 代码的工具

线性代数、傅里叶变换、随机数生成等功能

NumPy 最重要的一个对象是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,可以使用基于 0 的索引访问集合中的项目。

ndarray 对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)

numpy.array( object , dtype = None , ndmin = 0 ,copy = True , order = None , subok = False )

一般只有 object、dtype和 ndmin 参数常用,其他参数不常用

python基础有哪些内容,python基础有哪些,人工智能
13、pandas

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

常见的数据类型:

一维: Series(一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。)

二维: DataFrame(二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。)

三维: Panel (三维的数组,可以理解为DataFrame的容器。) …

四维: Panel4D …

N维: PanelND …

14、Requests

requests是使用Apache2 licensed 许可证的HTTP库。用python编写,比urllib2模块更简洁。

Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作,是爬虫常用模块!

对应http的不同请求类型,requests库有不同的方法:

1.requests.get():

获取HTML网页的主要方法,对应于HTTP的GET

2.requests.post():

向HTML网页提交POST请求的方法,对应于HTTP的POST

3.requests.head():

获取HTML网页头信息的方法,对应于HTTP的HEAD

4.requests.put():

向HTML网页提交PUT请求,对应于HTTP的PUT

5.requests.patch():

向HTML网页提交局部修改请求,对应于HTTP的PATCH

6.requests.delete():

向HTML页面提交删除请求,对应于HTTP的DELETE

15、BeautifulSoup

HTML和XML的解析库,BeautifulSoup 是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将 html 解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。

基本用法:

from bs4 import BeautifulSoup

import requests, re

req_obj = requests.get('https://www.baidu.com')

soup = BeautifulSoup(req_obj.text, 'lxml')

'''标签查找'''

print(soup.title) # 只是查找出第一个

print(soup.find('title')) # 效果和上面一样

print(soup.find_all('div')) # 查出所有的div标签

'''获取标签里的属性'''

tag = soup.div

print(tag['class']) # 多属性的话,会返回一个列表

print(tag['id']) # 查找标签的id属性

print(tag.attrs) # 查找标签所有的属性,返回一个字典(属性名:属性值)

'''标签包的字符串'''

tag = soup.title

print(tag.string) # 获取标签里的字符串

tag.string.replace_with("哈哈") # 字符串不能直接编辑,可以替换

'''子节点的操作'''

tag = soup.head

print(tag.title) # 获取head标签后再获取它包含的子标签

'''contents 和 .children'''

tag = soup.body

print(tag.contents) # 将标签的子节点以列表返回

print([child for child in tag.children]) # 输出和上面一样

'''descendants'''

tag = soup.body

[print(child_tag) for child_tag in tag.descendants] # 获取所有子节点和子子节点

'''strings和.stripped_strings'''

tag = soup.body

[print(str) for str in tag.strings] # 输出所有所有文本内容

[print(str) for str in tag.stripped_strings] # 输出所有所有文本内容,去除空格或空行

'''.parent和.parents'''

tag = soup.title

print(tag.parent) # 输出便签的父标签

[print(parent) for parent in tag.parents] # 输出所有的父标签

'''.next_siblings 和 .previous_siblings

查出所有的兄弟节点

'''

'''.next_element 和 .previous_element

下一个兄弟节点

'''

'''find_all的keyword 参数'''

soup.find_all(id='link2') # 查找所有包含 id 属性的标签

soup.find_all(href=re.compile("elsie")) # href 参数,Beautiful Soup会搜索每个标签的href属性:

soup.find_all(id=True) # 找出所有的有id属性的标签

soup.find_all(href=re.compile("elsie"), id='link1') # 也可以组合查找

soup.find_all(attrs={"属性名": "属性值"}) # 也可以通过字典的方式查找

今天的python常用模块汇总就到这里啦,如果觉得这篇文章对你有用的话,点赞评论一下哦!想要获取更多Python知识,小技巧和干货资源,文末领取哦

Python入门教程

如果你现在还是不会Python也没关系,下面我会给大家免费分享一份Python全套学习资料, 包含视频、源码、课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,可以和我一起来学习交流。

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论

④ 20款主流手游迫解 爬虫手游逆行迫解教程包

⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解

⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解

⑦ 超300本Python电子好书,从入门到高阶应有尽有

⑧ 华为出品独家Python漫画教程,手机也能学习

⑨ 历年互联网企业Python面试真题,复习时非常方便

python基础有哪些内容,python基础有哪些,人工智能

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
python基础有哪些内容,python基础有哪些,人工智能

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
python基础有哪些内容,python基础有哪些,人工智能

👉100道Python练习题👈

检查学习结果。python基础有哪些内容,python基础有哪些,人工智能

👉面试刷题👈

python基础有哪些内容,python基础有哪些,人工智能

python基础有哪些内容,python基础有哪些,人工智能

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

python基础有哪些内容,python基础有哪些,人工智能

好文推荐

了解python的前景:python未来前景,这是我见过最全的资料-CSDN博客

了解python的兼职:python副业介绍以及渠道推荐,接单注意事项,超详细_爬虫接单渠道-CSDN博客文章来源地址https://www.toymoban.com/news/detail-820738.html

前言

1、Os模块;OS模块 提供方便的使用操作系统函数的方法

OS部分常用方法: (文末送读者福利)

os.remove() 删除文件

os.unlink() 删除文件

os.rename() 重命名文件

os.listdir() 列出指定目录下所有文件

os.getcwd() 获取当前文件路径

os.mkdir() 新建目录

os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())

os.makedirs() 创建多级目录

os.system() 执行操作系统命令

os.execvp() 启动一个新进程

os.execvp() 执行外部程序脚本(Uinx)

2、Sys模块;SYS 模块 提供可供访问由解释器使用或维护的变量和与解释器进行交互的函数。

简单来说os负责程序与操作系统的交互,提供程序访问操作系统底层的接口;sys主要负责程序与python解析器的交换,提供一系列函数与变量,用于操控pyhton的运行环境python流星雨教学。(文末送读者福利)

Sys常用方法:

sys.argv 命令行参数List,第一个元素是程序本身路径

sys.modules.keys() 返回所有已经导入的模块列表

sys.exit(n) 退出程序,正常退出时exit(0)

sys.version 获取Python解释程序的版本信息

sys.platform 返回操作系统平台名称

sys.stdout 标准输出

sys.stdout.writelines() 无换行输出

sys.stdin 标准输入

sys.stdin.read() 输入一行

sys.stderr 错误输出

sys.executable Python解释程序路径

sys.getwindowsversion() 获取Windows的版本

3、Xpath模块

XPath 是一门在 XML 文档中查找信息的语言,它包含一个标准函数库。简而言之,xpath是在xml文档中,根据路径查找元素的语法。

xpath常用术语:

元素:文档树中的标签就是一个元素。

节点:表示xml文档树的某一个位置,例如 / 代表根节点,代表文档树起始位置,元素也可以看成某一位置上的节点。

属性:<title lang="eng">Harry Potter</title>中 lang就是某一个节点的属性。

文本:<title lang="eng">Harry Potter</title>中Harry Potter就是文本。

4、re模块;正则表达式(英语:Regular Expression,常简写为regex、regexp或RE),又称正则表示式、正则表示法、规则表达式、常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本,简而言之,正则就是使用特殊字符来匹配特定文本达到提取数据的目的。

Re正则表达式常用语法:

'^' 匹配字符串开头

‘$’ 匹配结尾

'\d' 匹配数字,等于[0-9] re.findall('\d','电话:10086')结果['1', '0', '0', '8', '6']

'\D' 匹配非数字,等于[^0-9] re.findall('\D','电话:10086')结果['电', '话', ':']

'\w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']

'\s' 匹配空白字符 re.findall('\s','3*ds \t\n')结果[' ', '\t', '\n']

'\S' 匹配非空白字符 re.findall('\s','3*ds \t\n')结果['3', '*', 'd', 's']

'\A' 匹配字符串开头

'\Z' 匹配字符串结尾

'\b' 匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的

'\B' 与\b相反,只在当前位置不在单词边界时匹配

5、Parsel模块;parsel模块众所周知是一个python的第三方库,其作用和功能等价于css选择器,xpath和re的集合版。和其他解析模块相比,例如BeautifulSoup,xpath等,parsel效率更高,使用更简单。

import requests

import parsel response = requests.get(url)

sel = parsel.Selector(response.text) #注意这里的S要大写 # re正则

# print(sel.re('正则匹配格式')) # xpath

# print(sel.xpath('xpath').getall()) #getall获取所有 # css选择器

# print(sel.css('css选择器 ::text').extract_first())#获取第一个

6、Urlparse模块;urlparse模块主要是用于解析url中的参数,对url按照一定格式进行拆分或拼接。urlparse 这个模块在 python 3.0 中 已经改名为 urllib.parse。

Urlparse这个第三方模块中包含的函数有urljoin、urlsplit、urlunsplit、urlparse等。

如,urlparse.urlparse:

将URL分解为6个片段,返回一个元组,包括协议、基地址、相对地址等等

import urlparse
url = urlparse.urlparse('http://blog.csdn.net/?ref=toolbar')
print url

输出结果为:

ParseResult(scheme='http', netloc='blog.csdn.net', path='/', params='', query='ref=toolbar', fragment='')

scheme是协议,netloc是服务器地址,path是相对路径,params是参数,query是查询的条件。

如果知道服务器的地址的话,可以以服务器的地址为基地址,拼接其他的相对路径,组成新的URL。

7、Soket模块

socket也称作‘套接字,用于描述IP地址和端口,是一个通信的终点。

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

socket和file的区别:

file模块是针对某个指定文件进行【打开】【读写】【关闭】

socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】
python基础有哪些内容,python基础有哪些,人工智能
8、Threading模块

该模块在较低级别thread模块之上构建更高级别的线程接口。另请参见mutex和Queue模块。

hreading提供了一个比thread模块更高层的API来提供线程的并发性。这些线程并发运行并共享内存。

下面来看threading模块的具体用法:

一、Thread的使用,目标函数可以实例化一个Thread对象,每个Thread对象代表着一个线程,可以通过start()方法,开始运行。

这里对使用多线程并发,和不适用多线程并发做了一个比较:

首先是不使用多线程的操作:

代码如下:

#!/usr/bin/python

#compare for multi threads

import time

def worker():

print "worker"

time.sleep(1)

return

if __name__ == "__main__":

for i in xrange(5):

worker()

下面是使用多线程并发的操作:

代码如下:

#!/usr/bin/python

import threading

import time

def worker():

print "worker"

time.sleep(1)

return

for i in xrange(5):

t = threading.Thread(target=worker)

t.start()

可以明显看出使用了多线程并发的操作,花费时间要短的很多。

9、Types模块:

types是什么:

types模块中包含python中各种常见的数据类型,如IntType(整型),FloatType(浮点型)等等。

types常见用法:

# 100是整型吗?
>>> isinstance(100, types.IntType)
True
>>>type(100)
int

# 看下types的源码就会发现types.IntType就是int

>>> types.IntType is int

True

但有些类型并不是int这样简单的数据类型:

class Foo:

def run(self):

return None

def bark(self):

print('barking')

a = Foo()

print(type(1))

print(type(Foo))

print(type(Foo.run))

print(type(Foo().run))

print(type(bark))

输出结果:

<class 'int'>

<class 'type'>

<class 'function'>

<class 'method'>

<class 'function'>

10、selenium模块

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题

selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器

from selenium import webdriver

browser=webdriver.Chrome()

browser=webdriver.Firefox()

browser=webdriver.PhantomJS()

browser=webdriver.Safari()

browser=webdriver.Edge()

from selenium import webdriver

from selenium.webdriver import ActionChains

from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR

from selenium.webdriver.common.keys import Keys #键盘按键操作

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素

browser=webdriver.Chrome()

try:

browser.get('https://www.baidu.com')

input_tag=browser.find_element_by_id('kw')

input_tag.send_keys('美女') #python2中输入中文错误,字符串前加个u

input_tag.send_keys(Keys.ENTER) #输入回车

wait=WebDriverWait(browser,10)

wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等到id为content_left的元素加载完毕,最多等10秒

print(browser.page_source)

print(browser.current_url)

print(browser.get_cookies())

finally:

browser.close()

11、Pygame模块;是一个简单的游戏开发功能库

在python中开发游戏,通常会用到pygame这个模块。

pygame模块总览:
python基础有哪些内容,python基础有哪些,人工智能
12、numpy

NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

一个强大的 N 维数组对象 ndarray

广播功能函数

整合 C/C++/Fortran 代码的工具

线性代数、傅里叶变换、随机数生成等功能

NumPy 最重要的一个对象是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,可以使用基于 0 的索引访问集合中的项目。

ndarray 对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)

numpy.array( object , dtype = None , ndmin = 0 ,copy = True , order = None , subok = False )

一般只有 object、dtype和 ndmin 参数常用,其他参数不常用

python基础有哪些内容,python基础有哪些,人工智能
13、pandas

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

常见的数据类型:

一维: Series(一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。)

二维: DataFrame(二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。)

三维: Panel (三维的数组,可以理解为DataFrame的容器。) …

四维: Panel4D …

N维: PanelND …

14、Requests

requests是使用Apache2 licensed 许可证的HTTP库。用python编写,比urllib2模块更简洁。

Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作,是爬虫常用模块!

对应http的不同请求类型,requests库有不同的方法:

1.requests.get():

获取HTML网页的主要方法,对应于HTTP的GET

2.requests.post():

向HTML网页提交POST请求的方法,对应于HTTP的POST

3.requests.head():

获取HTML网页头信息的方法,对应于HTTP的HEAD

4.requests.put():

向HTML网页提交PUT请求,对应于HTTP的PUT

5.requests.patch():

向HTML网页提交局部修改请求,对应于HTTP的PATCH

6.requests.delete():

向HTML页面提交删除请求,对应于HTTP的DELETE

15、BeautifulSoup

HTML和XML的解析库,BeautifulSoup 是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将 html 解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。

基本用法:

from bs4 import BeautifulSoup

import requests, re

req_obj = requests.get('https://www.baidu.com')

soup = BeautifulSoup(req_obj.text, 'lxml')

'''标签查找'''

print(soup.title) # 只是查找出第一个

print(soup.find('title')) # 效果和上面一样

print(soup.find_all('div')) # 查出所有的div标签

'''获取标签里的属性'''

tag = soup.div

print(tag['class']) # 多属性的话,会返回一个列表

print(tag['id']) # 查找标签的id属性

print(tag.attrs) # 查找标签所有的属性,返回一个字典(属性名:属性值)

'''标签包的字符串'''

tag = soup.title

print(tag.string) # 获取标签里的字符串

tag.string.replace_with("哈哈") # 字符串不能直接编辑,可以替换

'''子节点的操作'''

tag = soup.head

print(tag.title) # 获取head标签后再获取它包含的子标签

'''contents 和 .children'''

tag = soup.body

print(tag.contents) # 将标签的子节点以列表返回

print([child for child in tag.children]) # 输出和上面一样

'''descendants'''

tag = soup.body

[print(child_tag) for child_tag in tag.descendants] # 获取所有子节点和子子节点

'''strings和.stripped_strings'''

tag = soup.body

[print(str) for str in tag.strings] # 输出所有所有文本内容

[print(str) for str in tag.stripped_strings] # 输出所有所有文本内容,去除空格或空行

'''.parent和.parents'''

tag = soup.title

print(tag.parent) # 输出便签的父标签

[print(parent) for parent in tag.parents] # 输出所有的父标签

'''.next_siblings 和 .previous_siblings

查出所有的兄弟节点

'''

'''.next_element 和 .previous_element

下一个兄弟节点

'''

'''find_all的keyword 参数'''

soup.find_all(id='link2') # 查找所有包含 id 属性的标签

soup.find_all(href=re.compile("elsie")) # href 参数,Beautiful Soup会搜索每个标签的href属性:

soup.find_all(id=True) # 找出所有的有id属性的标签

soup.find_all(href=re.compile("elsie"), id='link1') # 也可以组合查找

soup.find_all(attrs={"属性名": "属性值"}) # 也可以通过字典的方式查找

今天的python常用模块汇总就到这里啦,如果觉得这篇文章对你有用的话,点赞评论一下哦!想要获取更多Python知识,小技巧和干货资源,文末领取哦

Python入门教程

如果你现在还是不会Python也没关系,下面我会给大家免费分享一份Python全套学习资料, 包含视频、源码、课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,可以和我一起来学习交流。

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论

④ 20款主流手游迫解 爬虫手游逆行迫解教程包

⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解

⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解

⑦ 超300本Python电子好书,从入门到高阶应有尽有

⑧ 华为出品独家Python漫画教程,手机也能学习

⑨ 历年互联网企业Python面试真题,复习时非常方便

python基础有哪些内容,python基础有哪些,人工智能

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
python基础有哪些内容,python基础有哪些,人工智能

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
python基础有哪些内容,python基础有哪些,人工智能

👉100道Python练习题👈

检查学习结果。python基础有哪些内容,python基础有哪些,人工智能

👉面试刷题👈

python基础有哪些内容,python基础有哪些,人工智能

python基础有哪些内容,python基础有哪些,人工智能

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

python基础有哪些内容,python基础有哪些,人工智能

好文推荐

了解python的前景:python未来前景,这是我见过最全的资料-CSDN博客

了解python的兼职:python副业介绍以及渠道推荐,接单注意事项,超详细_爬虫接单渠道-CSDN博客

到了这里,关于python基础有哪些内容,python基础有哪些的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浅谈人工智能生成内容(AIGC)

    兴趣了解 [OpenAI ]人工智能绘画产品 DALL·E: 在计算机上输入一句话,DALL·E 就能够理解这句话、然后自动生成一幅意思相应的图像,且该图像是全网首发、独一无二。 [谷歌 ] 5400 亿参数大模型 PaLM: PaLM 的文本理解能力与逻辑推理能力大幅提升,甚至可以用文本解释笑话,告诉

    2024年02月11日
    浏览(65)
  • 人工智能不能替代的工作有哪些?

    虽然人工智能(AI)在许多领域中变得越来越强大和普遍,但仍有一些工作是 AI 无法完全替代的。 以下是一些 AI 目前难以取代的人类工作领域: 1.创造性工作 创意和创新是人类的独特能力,例如艺术家、作家、设计师和音乐家等从事创意工作的人类,很难被 AI 完全复制。

    2024年02月06日
    浏览(47)
  • 人工智能的应用领域有哪些?

    作者:禅与计算机程序设计艺术 随着科技的飞速发展,人工智能正在改变着世界的很多领域。近几年,随着人工智能技术的不断革新,人工智能在各个领域的应用已经越来越广泛。人工智能的应用主要分为三个阶段:智能产品、智慧城市、智能服务。其中,智能产品包括车联

    2024年02月06日
    浏览(53)
  • AIGC(即人工智能生成内容)是什么

    AIGC是一种新的人工智能技术,它的全称是Artificial Intelligence Generative Content,即人工智能生成内容。它的核心思想是利用人工智能模型,根据给定的主题、、格式、风格等条件,自动生成各种类型的文本、图像、音频、视频等内容。AIGC可以广泛应用于媒体、教育、娱乐

    2024年02月07日
    浏览(67)
  • 人工智能在哪些方面有潜力发挥作用?

    作者:禅与计算机程序设计艺术

    2024年02月05日
    浏览(56)
  • AI人工智能中的数学基础原理与Python实战: 矩阵本质及其运算

    人工智能(AI)和机器学习(ML)已经成为当今最热门的技术领域之一,它们在各个行业的应用也越来越广泛。然而,在深入了解这些领域之前,我们需要了解一些基本的数学原理和算法。这篇文章将涵盖矩阵的本质以及如何在Python中进行矩阵运算。 矩阵是计算机科学和数学中的一

    2024年04月09日
    浏览(63)
  • 入门人工智能 —— 学习一门编程语言 python 基础代码编写和运算符介绍(1)

    随着人工智能技术的快速发展,越来越多的年轻人开始关注这个领域。作为入门者,学习人工智能编程语言至关重要。这里将介绍人工智能编程语言Python的基础知识,帮助初学者更好地理解人工智能领域的基本概念和技术。 下面是一些入门 Python 编程语言的基本知识: 安装

    2024年02月09日
    浏览(60)
  • 人工智能的应用场景有哪些?以及未来市场预期有哪些方向?

    作者:禅与计算机程序设计艺术 人工智能(Artificial Intelligence,AI)技术正在重新定义我们的生活。近年来,以深度学习、强化学习、脑机接口等AI技术作为基础设施的快速发展,已经改变了人们生活的方方面面。伴随着人工智能技术的高速发展,其应用场景也不断拓宽,尤其

    2024年02月06日
    浏览(57)
  • 人工智能与社交媒体:如何分析和优化内容

    社交媒体在过去的十年里迅速成为了人们交流、分享和娱乐的主要途径。随着用户数量的增加,社交媒体平台上的内容也越来越多。这导致了一个问题:如何有效地分析和优化社交媒体平台上的内容,以提高用户体验和增加平台的价值?这就是人工智能与社交媒体之间的密切

    2024年02月21日
    浏览(53)
  • <AIGC>揭秘人工智能生成内容的核心概念

    什么是AIGC? AIGC基于什么技术实现? 什么是向量库? 什么是数据集? 各领域成熟的AIGC产品? 本篇文章内容80%来自一个名为AIGC领域专家的GPT,由我进行整理和优化其输出的内容。 他的Prompt设置为 你拥有多年的AIGC领域经验,请以AIGC领域专家的角度尽可能全面的回答我的相关问题。

    2024年02月10日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包