干货 | Python进阶之学习笔记(一)

640?wx_fmt=png

 

  • 认识Pythonpython

  • Python应用场景程序员

  • Python基础语法web

     

1、认识Python

640?wx_fmt=png

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

 

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

 

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 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制做图表,甚至开发科学计算应用程序。服务器

 

2、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。

 

3、Python基础知识

1. 语法基础:注释

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

 

2. 语法基础:数据类型

640?wx_fmt=png

 

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模块

import keyword #导入关键字模块
print(keyword.kwlist) #查询全部关键字

 

实际操做

640?wx_fmt=png

舒适提示:我们在起变量名或者文件名时不能使用这些关键字名字哟,不然会报错.抛出异常~请你们注意哟。

 

标识符

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

 

标识符规则

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

 

标识符命名规则

命名规则,能够简单的理解为,我们在起名字的时候是须要遵照相关规则的.主要是为了让别人一看就明白是什么意思,作什么用的.能够提升代码可读性。好比:名字 就定义为 name , 定义学生用 student。

 

驼峰命名法

同时呢,在须要多个单词进行组合时,我们使用驼峰命名法:

小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

大驼峰式命名法: 每个单字的首字母都采用大写字母,例如:FirstName、LastName。不过在程序员中还有一种命名法比较流行,就是用下划线“_”来链接全部的单词,好比send_buf

 

名字和对象之间关系

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

# 举个例子

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

 

实际操做

640?wx_fmt=png

# del 解除引用关系

age = 17 # 永远17岁
del age # del 是 delete 的缩写,此行代码表示删除 age 和 17 之间的引用关系

print(age) # 由于已经删除引用关系,因此访问不到 17 这个数据,则抛出异常

 

实际操做

640?wx_fmt=png

 

名字空间

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

# 举个栗子

height = '190CM' # 小编的理想身高.可是现实很残酷.

def func1():
pass

class Fun():
pass

 

实际操做

640?wx_fmt=png

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

 

实际操做

640?wx_fmt=png

 

4. 语法基础:输出

普通的输出

640?wx_fmt=png

python中的输出

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

name = '李铁柱'

print(name)

运行结果

640?wx_fmt=png

print()也能够打印整数,或者计算结果

# 举个例子
print(300)
print(100 + 200)

 

实际操做

640?wx_fmt=png

所以,咱们能够把计算100 + 200 的结果打印得更漂亮一点:

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

 

实际操做

640?wx_fmt=png

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

 

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

格式化操做的目的,好比说有下列代码:

print('你们好,我叫 李铁柱,我今年 24 岁')

print('你们好,我叫 候德柱,我今年 25 岁')

print('你们好,我叫 候不柱,我今年 26 岁')

 

你们仔细观察一下,可以看到,我在 print 输出自我介绍的时候,用了不少的相同字体,就只有一些不一样的字段,那么我们可否简化一下程序呢?

age = 24
print("我今年%d岁" % age)

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

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

 

实际操做

640?wx_fmt=png

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

age = 18
name = "小岳岳"

print("个人姓名是%s, 年龄是%d" % (name, age))

运行结果

640?wx_fmt=png

在这里我们一次使用了两个格式化符号,分别是:%s 和 %d。

%s:表示格式化输出字符串

%d:表示格式化输出十进制整数

除了这两个格式化输出字符还有不少,往下看。

 

经常使用的格式化符号

640?wx_fmt=png

6. 语法基础:输入

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

name = input() # input()

当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你能够输入任意字符,而后按回车后完成输入。

 

输入完成后,不会有任何提示,Python 交互式命令行又回到就绪状态了。那咱们刚才输入的内容到哪去了?答案是存放到 name 变量里了。能够直接输入 name 查看变量内容:

640?wx_fmt=png

640?wx_fmt=png

 

7. 语法基础:运算符

标准操做符

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

 

算数运算符

640?wx_fmt=png

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

实际操做

a = 10
b = 20

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

 

赋值运算符

640?wx_fmt=png

 

实际操做

a = 10 # 单个赋值
b = 20
c,d,e = 30,40,50 # 多个赋值 c = 30 , d = 40 , e = 50

print(a,b,c,d,e)

 

复合赋值运算符

640?wx_fmt=png

 

实际操做

c = 40
a = 20

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

 

 

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

数据类型转换

有时候,咱们须要对数据内置的类型进行转换,数据类型的转换,你只须要将数据类型做为函数名便可。

如下几个内置的函数能够执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

 

640?wx_fmt=png

类型转换

# 给小伙伴们举几个例子
# 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 = 10
f1 = 3.14

print(type(str(num1)))

# eval(): 将字符串形式的数据,转换为本来的类型
str1 = "3.14"
print(type(eval(str1)))

 

操做结果

640?wx_fmt=png

相关文章
相关标签/搜索