前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶学习笔记【干货分享】(一)

Python进阶学习笔记【干货分享】(一)

作者头像
商业新知
修改2019-06-18 17:44:27
5950
修改2019-06-18 17:44:27
举报
文章被收录于专栏:AI人工智能AI人工智能

从今天开始,我们将连续四天为大家推出Python基础入门的课程笔记,内容涵盖Python基础语法、对象、字符串、列表、元组、字典、迭代器、生成器、异常等,从零开始教大家学Python。

目录

  • 认识Python
  • Python应用场景
  • Python基础语法

一、认识Python

Python 是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python 的创始人为荷兰人吉多·范罗苏姆( Guido van Rossum )。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python (大蟒蛇的意思)作为该编程语言的名字,是取自英国 20 世纪 70 年代首播的电视喜剧《蒙提 . 派森干的飞行马戏团》( Monty Python's Flying Circus )。

ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来, ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因, Guido 认为是其非开放造成的。 Guido 决心在Python 中避免这一错误。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。

就这样,Python 在 Guido 手中诞生了。可以说, Python 是从 ABC 发展起来。 Python 已经成为最受欢迎的程序设计语言之一。自从 2004 年以后, python 的使用率呈线性增长。 Python2 于 2000 年 10 月 16 日发布,稳定版本是 Python2.7 。 Python3 于 2008 年 12 月 3 日发布,不完全兼容 Python2 。 2011 年 1 月,它被 TIOBE 编程语言排行榜评为 2010 年度语言。

由于 Python 语言的简洁性、易读性以及可扩展性,在国外用 Python 做科学计算的研究机构日益增多,一些知名大学已经采用 Python 来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python 语言讲授。众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV 、三维可视化库 VTK 、医学图像处理 库 ITK 。而 Python 专用的科学计算扩展库就更多了,例如:如下 3 个十分经典的科学计算扩展库: NumPy 、 SciPy 和 matplotlib ,它们分别为 Python提供了快速数组处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

二、Python应用场景

1. Web应用开发

Python经常被用于 Web 开发。比如,通过 mod_wsgi 模块, Apache 可以运行用 Python 编写的 Web 程序。Python 定义了 WSGI 标准应用接口来协调 Http 服务器与基于 Python 的 Web 程序之间的通信。一些 Web 框架,如 Django,TurboGears,web2py,Zope 等,可以让程序员轻松地开发和管理复杂的 Web 程序。

2. 操作系统管理、服务器运维的自动化脚本

在很多操作系统里,Python是标准的系统组件。 大多数 Linux 发行版以及 NetBSD 、 OpenBSD 和 Mac OS X 都集成了 Python ,可以在终端下直接运行 Python 。有一些 Linux 发行版的安装器使用 Python 语言编写,比如 Ubuntu 的 Ubiquity 安装器 ,Red Hat Linux 和 Fedora 的 Anaconda 安装器。 Gentoo Linux 使用 Python来编写它的 Portage 包管理系统。 Python 标准库包含了多个调用操作系统功能的库。通过 pywin32 这个第三方软件 包, Python 能够访问 Windows 的 COM 服务及其它 Windows API 。使用 IronPython , Python 程序能够直接调用 .Net Framework 。一般说来, Python 编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的 shell 脚本。

3. 网络爬虫

Python有大量的 HTTP 请求处理库和 HTML 解析库,并且有成熟高效的爬虫框架 Scrapy 和分布式解决方案 scrapy-redis ,在爬虫的应用方面非常广泛。

4. 科学计算

NumPy、 SciPy 、 Pandas 、 Matplotlib 可以让 Python 程序员编写科学计算程序。

5. 桌面软件

PyQt、 PySide 、 wxPython 、 PyGTK 是 Python 快速开发桌面应用程序的利器。

6. 服务器软件(网络软件)

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库 Twisted 支持异步网络编程和多数标准的网络协议 ( 包含客户端和服务器 ) ,并且提供了多种工具,被广泛用于编写高性能的服务器软件。

7. 游戏

很多游戏使用C++编写图形显示等高性能模块,而使用 Python 或者 Lua 编写游戏的逻辑、服务器。相较于 Python , Lua 的功能更简单、体积更小;而 Python 则支持更多的特性和数据类型。

8. 构思实现,产品早期原型和迭代

Google、 NASA 、 Facebook 都在内部大量地使用 Python 。

三、Python基础知识

1. 语法基础:注释

在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。python 常用 单行注释是 # ,常用 多行注释是三对单引号 ''' '''

# 这是一个单行注释

# print("七月你好,我是八月.") 此行代码不执行显示.# 快捷键: ctrl + / 快速设置注释 和 快速取消注释'''这是一个多行注释该范围内的代码不会执行显示'''

2. 语法基础:数据类型

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

3. 语法基础:关键字和标识符

关键字

python 一些具有特殊功能的标识符,这就是所谓的关键字。 关键字 ,是 python 已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符

那么 python 中关键字都有哪些呢?

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

那么咱们如何去查询 python 中有哪些关键字呢?

# 在python中若想查询python中有哪些关键字可以先导入keyword模块

importkeyword#导入关键字模块print(keyword.kwlist)#查询所有关键字

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

温馨提示: 咱们在起变量名或者文件名时不能使用这些关键字名字哟,否则会报错.抛出异常~请大家注意哟。

标识符

祖国的花朵(开发人员) 在程序中自定义的一些符号和名称。标示符是咱们自己定义的,如 变量名 、 函数名 、 类名 等。

标识符规则

定义这些标识符也有一定的规则: 标识符由字母下划线和数字组成,但是不能以数字开头,可以使用下划线或字母开头, 注意在 python 中,标识符是严格区分大小写的哟。 变量 Andy 不等于 变量 andy 这是两个变量。

标识符命名规则

命名规则,可以简单的理解为,咱们在起名字的时候是需要遵守相关规则的.主要是为了让别人一看就明白是什么意思,做什么用的.可以提高代码可读性。 比如:名字 就定义为 name , 定义学生用 student。

驼峰命名法

同时呢,在需要多个单词进行组合时,咱们使用 驼峰命名法: 小驼峰式命名法 : 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog 大驼峰式命名法 : 每一个单字的首字母都采用大写字母,例如:FirstName、LastName。 不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf

名字和对象之间关系

我们可以 用 = 等号, 建立立定义的变量名字和对象之间的引用关系,也可以用使用 del 来解除这种引用关系。

# 举个例子

name='天下第一帅'# 我将 天下第一帅 这个字符串赋值给了 name 这个变量名,可以理解为,下次我通过 name 名字可以联系到 天下第一帅 这个人.

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

# del 解除引用关系

age =17# 永远17岁delage# del 是 delete 的缩写,此行代码表示删除 age 和 17 之间的引用关系print(age)# 因为已经删除引用关系,所以访问不到 17 这个数据,则抛出异常

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

名字空间

当我们在定义了一些变量名,函数名,类名之后,会有一个空间来收纳这些名字和它们所对应的数据类型和数据内容。

# 举个栗子

height ='190CM'# 小编的理想身高.但是现实很残酷.deffunc1():passclassFun():pass

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

使用 %whos 查看名字空间,我们也可以使用 %reset 来清空这个空间,清空之后,我们就需要重新执行一次定义的过程,才能重新存储在名字空间内。

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

4. 语法基础:输出

普通的输出

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

python中的输出

用 print() 在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出 '李铁柱',用代码实现如下:

name = '李铁柱'

print(name)

运行结果

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

print() 也可以打印整数,或者计算结果

# 举个例子

print(300)print(100 + 200)

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

因此,我们可以把计算100 + 200 的结果打印得更漂亮一点:

print('100 + 200 = ', 100 + 200)

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

注意,对于100 + 200,Python 解释器自动计算出结果 300,但是,'100 + 200 =' 是字符串而非数学公式,Python 把它视为字符串,直接进行打印输出。

5. 语法基础:格式化输出

格式化操作的目的,比如说有下列代码:

print('大家好,我叫 李铁柱,我今年 24 岁')

print('大家好,我叫 候德柱,我今年 25 岁')print('大家好,我叫 候不柱,我今年 26 岁')

大家仔细观察一下,能够看到,我在 print 输出自我介绍的时候,用了很多的相同字体,就只有一些不同的字段,那么咱们能否简化一下程序呢?

age = 24

print("我今年%d岁"% age)age +=25print("我今年%d岁"% age)age +=26print("我今年%d岁"% age)

实际操作

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

在程序中,看到了 % 这样的操作符,这就是 Python 中格式化输出。

age = 18

name ="小岳岳"print("我的姓名是%s, 年龄是%d"% (name, age))

运行结果

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

在这里咱们一次使用了两个格式化符号,分别是:%s 和 %d。 %s:表示格式化输出字符串 %d:表示格式化输出十进制整数 除了这两个格式化输出字符还有很多,往下看。

常用的格式化符号

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

6. 语法基础:输入

现在,你已经可以用 print() 输出你想要的结果了。但是,如果要 让用户从电脑输入一些字符 怎么办?Python 提供了一个 input() ,可以让用户输入字符串, 并存放到一个变量里 。比如输入用户的名字:

name = input() # input()

当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。 输入完成后,不会有任何提示,Python 交互式命令行又回到就绪状态了。那我们刚才输入的内容到哪去了?答案是存放到 name 变量里了。可以直接输入 name 查看变量内容:

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

7. 语法基础:运算符

标准操作符

python 同大多数语言一样,也有自己的操作符,分别用来应对不同的工作内容。今天要讲的是 Python 中最常用的几种标准操作符: 算术运算符、赋值运算符、比较运算符、逻辑运算符。

算数运算符

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。

实际操作

a = 10

b=20print(a+b)print(a-b)print(a*b)print(a/b)

赋值运算符

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

实际操作

a = 10 # 单个赋值

b = 20c,d,e = 30,40,50# 多个赋值 c = 30 , d = 40 , e = 50print(a,b,c,d,e)

复合赋值运算符

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

实际操作

c = 40

a=20#print(c+=a) # 直接print() 是无法输出结果的哟c+=aprint(c)c-=aprint(c)c*=aprint(c)c/=aprint(c)c%=aprint(c)

(8)语法基础:常用的数据类型转换

数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。 以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

类型转换

# 给小伙伴们举几个例子

#int(): 将数据转换为int类型str1 ="10"num1 =int(str1)print(int)#int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)num2 =int(3.74)print(num2)# float() 将数据转化为浮点数str2 ="3.14"f1 = float(str2)print(type(f1))# str() : 转换为 字符串类型num1 =10f1 =3.14print(type(str(num1)))#eval(): 将字符串形式的数据,转换为原本的类型str1 ="3.14"print(type(eval(str1)))

操作结果

知识图谱,干货 | Python进阶之学习笔记(一)
知识图谱,干货 | Python进阶之学习笔记(一)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、认识Python
  • 二、Python应用场景
  • 三、Python基础知识
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档