IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 要不Python入个门? -> 正文阅读

[人工智能]要不Python入个门?

前言

随着人工智能的兴起,Python变得越来越火热了,什么少儿编程、机器学习、数据分析、数据挖掘等领域都在不断地分着编程市场的一块大蛋糕,故此就目前的发展趋势,Python必定会是人工智能等新兴数据领域的垫脚石。所以骚年们,不打算学学Python么。

数据来源PYPL

?Python简介

干咱们这一行的,多多少少不止了解一种编程语言。回想那些语言,其实可以发现它们其实有着相似相通的地方。所以说呢,Python也不过如此,只要有任何一项编程语言的基础,了解它们并不难,具体我们往后再看。

既然这篇主要是讲Python的入门,咱们就先说说Python。

Python是一个高层次的结合了解释型、编译型、互动型和面向对象的脚本语言。

Python的设计具有很强的可读性,相比其他语言经常使用的英文关键词,其他的语言的一些标点符号,它具有比其他语言更有特色的语法结构。

若要对Python进行一个基础的概括,便可使用以下几点:

  • 解释型:使用过HTML、PHP等语言的同学应该很容易理解该词意思,它没有编译过程,这就造成我们在使用某一对象或者变量的时候,应该在该代码执行至该位置之前就已经完成了该对象或者变量的定义。
  • 交互型:所谓的交互型就是支持用户以程序进行“交互对话”,这种就十分类似于在DOS窗口的命令行交互一般。
  • 面向对象:作为一种脚本语言,与JavaScript一样,支持面向对象的风格,支持代码封装在对象中。
  • 易入门:Python的简单语法对于初学者来说是十分友好的,且由于Python具有强大的第三方库的支持,从简单的脚本开发到web开发再到神经网络训练,这一切都变得简单起来。

正所谓工欲善其事必先利其器,而一般Python开发者常用的开发IDE有:

(记事本)等等。。。

?用啥开发,完全看各位看官老爷们的兴趣所好。

Python2.x与Python3.x的区别:

由于Python2.x到Python3.x是一个大跨度的升级,且并没有考虑向Python2.x兼容的问题,故这两个版本的区别还是挺大的。但又考虑到Python2.x的用户不在少数,在python2.6之后在Python2.x的语法基础上,引入了部分的Python3.x的语法,便于用户向Python3.x版本迁移,具体Python3.x与Python2.x的区别可以详见官网。本文也是基于Python3.x来进行介绍的。

安装

Python环境安装:

windows:

在windows环境中,python的安装就比较简单,甚至比JDK的安装还要简单,就是无脑下一步即可。(值得注意的是,在安装的时候,建议勾选将Python加入到Path环境中,方便之后打开dos可直接运行python)。

Linux:

目前主流的Linux发行版都会默认带有Python的环境,有的同时带有Python2.x和Python3.x,且默认的Python命令用的是Python2.x的环境,有需要的可以将这个Python的软链接进行修改,让其指向Python3.x。

如果不存在Python环境的话,可以通过下载源码包或者软件压缩包的形式进行软件的安装。软件压缩包的形式也较为简单,就不做说明。这里只谈一下源码包的方式进行软件的安装。

  1. 通过wget方式进行下载Python源码包,或者直接从Python官网下载即可(使用wget命令事,请确保已经安装了该软件)
    wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
  2. tar命令进行文件的解压
    tar -zxvf Python-3.8.1.tgz
  3. make进行编译
    ./configure  --prefix=(自定义python安装位置)
    make && make install

第三方库安装:

第三方库的安装用到Python的pip库,它管理着Python的第三方库,一般通过它便可完成第三方库的安装。

pip install pymysql

但是问题就来了,这些第三方库的安装默认都是在国外的镜像中下载,碰到网络一般的时候,那下载起来老费劲了,拿着时候就得考虑使用国内的镜像了,国内一般用的较多的是清华镜像,豆瓣镜像等。

# 使用清华源安装pymysql
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple 

# 一劳永逸,设置默认安装源为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

语法

到现在Python该有的环境,便捷的IDE也介绍完了,就该唠唠基础的语法了。

Python提供六大标准数据类型:

  • Number(数字)
  • String(字符串)
  • Tuple(元组)
  • List(列表)
  • Dictionary(字典)
  • Set(集合)

看到这些是不是有些纳闷为啥没有Int,Long之类的啊,使用type(12)结果明明是int啊。这是因为那些int,long之类的数据类型,全被包含在Number之中,除了整型的int、long之类的还有浮点的double,布尔的bool以及复数complex类型。其中只有部分类型是Python3.x才提供的。

程序控制:

作为一门程序语言,流程控制怎么能少呢,它们的使用基本与其它的语言有着相似之处。

  • 循环控制:python中提供for循环以及while循环两种方式进行循环控制,而for循环的使用与Java中的foreach循环相类似。
# for循环
for i in range(8):
    print(i)

# while循环
while a:
    # pass关键词表示该代码块为空
    pass

# 值得注意的是:Python是通过代码缩进量来标识代码块,一般使用四个空格
# 不推荐直接使用Tab键替代,除非设置Tab键为指定数量的额空格
  • 条件控制:一般使用if判断来实现条件控制(其他的不清楚)。
    if a:
        pass
    elif b:
        pass
    else:
        pass

IO流

IO流笼统概括就是所谓的输入输出。

  • 输入: 标准的输入就是(从控制台)获取键盘输入内容。Python提供Input(),以及raw_input()两个函数提供输入,而这两个的函数的常用的参数为提示输入。 raw_input():从标准输入中获取一行输入。 input():与raw_input() 的功能类似,只不过该函数可以接收一个Python表达式作为输入,并将结果传递返回。 (以上功能只在python2中生效,python3中只提供input() 函数其功能与raw_input()功能一致。)
  • 输出: 主要的是输出分为输出至控制台及输出至文件。 控制台的输出主要使用的是print() 函数,值得注意的是其用法与C类语言的print函数类似,字符串与变量的混合输出需要进行通过format或者位置参数等方式格式化。

文件

通常来说文件也属于IO的一部分吧,但它也有点内容,就单独放一边来说了。

文件打开关闭是通过open()、close()函数进行操作的。 文件常用的打开方式大概分为 r、r+、w、w+、a、a+。 (默认方式为r。后面有加号表示支持写的方式)

  • x:写模式,新建一个文件,如果该文件已存在则会报错。

  • b:二进制模式。

  • +:打开一个文件进行更新(可读可写)。

  • r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

  • rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。

  • r+:打开一个文件用于读写。文件指针将会放在文件的开头。

  • rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

  • w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  • wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

  • w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  • wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

  • a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

  • ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

  • a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

  • ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

一般来说,为了防止资源的浪费,建议在文件打开使用完后应及时关闭。 为了处理这一问题,建议采用 with open 的方式机型文件的读写, 此方式会自动关闭文件流。 文件的读写: python通过write()函数进行文件的写操作,支持二进制数据的写入。 文件读的方式方式就比较多了,read()、readLine()函数用于文件的读取,前者默认读取单个字符的数据,也可通过参数指定需读取字符个数,而后者是按行进行数据的读取操作。

OS

说了文件的读写、开关,但缺少文件的权限、路径属性的等方式的判断、操作是不能谓之完整的文件操作。与Java不同的是,Python的文件属性类操作并不在单独的File模块,而是存在于OS模块(使用前前请勿忘记模块的导入,模块的导入方式通过import关键词使用,具体用法与vuejs类似)。

该模块对于文件的属性操作常见的有以下:

  • os.isfile(path):判断是否为文件
  • os.isdir(path):判断是否为文件夹
  • os.makedirs(path):创建文件夹(路径不存在会递归创建)
  • os.listdir(path):列出文件夹下的文件
  • os.path:文件属性模块(该模块提供文件的属性操作)

异常Error

在Python中常见的异常类型在Java中也常被提到,像数组越界,内存溢出等异常。不同的是名称比较不同而已。

异常处理作为编程语言中重要的逻辑处理机制之一, 该处理方式与Java的异常处理方式基本类似,提供try...except... finally... 方式进行异常的处理(其用法与Java的try...catch...finally...非常类似,就名字不同而已)。

常见的异常:ZeroDivisionError(除零异常)、IOError(IO异常)、ImportError(模块导入异常)、IndexError(索引不存在,类似于越界)等。

Python标准异常
异常名称描述
BaseException所有异常的基类
SystemExit解释器请求退出
KeyboardInterrupt用户中断执行(通常是输入^C)
Exception常规错误的基类
StopIteration迭代器没有更多的值
GeneratorExit生成器(generator)发生异常来通知退出
StandardError所有的内建标准异常的基类
ArithmeticError所有数值计算错误的基类
FloatingPointError浮点计算错误
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零 (所有数据类型)
AssertionError断言语句失败
AttributeError对象没有这个属性
EOFError没有内建输入,到达EOF 标记
EnvironmentError操作系统错误的基类
IOError输入/输出操作失败
OSError操作系统错误
WindowsError系统调用失败
ImportError导入模块/对象失败
LookupError无效数据查询的基类
IndexError序列中没有此索引(index)
KeyError映射中没有这个键
MemoryError内存溢出错误(对于Python 解释器不是致命的)
NameError未声明/初始化对象 (没有属性)
UnboundLocalError访问未初始化的本地变量
ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError一般的运行时错误
NotImplementedError尚未实现的方法
SyntaxErrorPython 语法错误
IndentationError缩进错误
TabErrorTab 和空格混用
SystemError一般的解释器系统错误
TypeError对类型无效的操作
ValueError传入无效的参数
UnicodeErrorUnicode 相关的错误
UnicodeDecodeErrorUnicode 解码时的错误
UnicodeEncodeErrorUnicode 编码时错误
UnicodeTranslateErrorUnicode 转换时错误
Warning警告的基类
DeprecationWarning关于被弃用的特征的警告
FutureWarning关于构造将来语义会有改变的警告
OverflowWarning旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning关于特性将会被废弃的警告
RuntimeWarning可疑的运行时行为(runtime behavior)的警告
SyntaxWarning可疑的语法的警告
UserWarning用户代码生成的警告
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:17:53  更:2021-12-15 18:19:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:36:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码