俗话说的好,千里之行始于足下。无论做什么事情,基础都是最重要的,当你以为自己“精通”某语言的时候,有没有问过自己:

“能不能把这些知识,用最简单的话说出来,让不懂的人也能听明白?”

当你真正精通某语言的时候,我相信你一定能做到。如果做不到,那就需要往下看,再学习一下基础。

为了帮助大家彻底理解Python,七月在线针对各大知识点进行了图片化和文字化显示。

涵盖了大量文字概念和代码的逻辑处理思路以及对应案例,可以直接通过文字概念和图片的逻辑处理流程,来辅助自己对知识的消化和吸收。本文目录

认识Python

Python应用场景

Python基础语法

一、认识Python

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

Python 的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989 年圣诞节期间,在阿姆斯特丹,Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

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. 语法基础:数据类型

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) #查询所有关键字

实际操作

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

标识符

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

标识符规则

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

标识符命名规则

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

驼峰命名法

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

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

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

名字和对象之间关系

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

# 举个例子

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

实际操作

# del 解除引用关系

age = 17 # 永远17岁

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

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

实际操作

名字空间

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

# 举个栗子

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

def func1():

pass

class Fun():

pass

实际操作

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

实际操作

4. 语法基础:输出

普通的输出

python中的输出

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

name = '李铁柱'

print(name)

运行结果

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

# 举个例子

print(300)

print(100 + 200)

实际操作

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

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

实际操作

注意,对于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)

实际操作

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

age = 18

name = "小岳岳"

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

运行结果

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

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

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

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

常用的格式化符号

6. 语法基础:输入

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

name = input() # input()

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

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

7. 语法基础:运算符

标准操作符

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

算数运算符

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

实际操作

a = 10

b = 20

print(a+b)

print(a-b)

print(a*b)

print(a/b)

赋值运算符

实际操作

a = 10 # 单个赋值

b = 20

c,d,e = 30,40,50 # 多个赋值 c = 30 , d = 40 , e = 50

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

复合赋值运算符

实际操作

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. 语法基础:常用的数据类型转换

数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

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

类型转换

# 给小伙伴们举几个例子

# 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)))

操作结果

ironpython使用opencv_连这些都不知道,就别说自己懂Python!相关推荐

  1. JAVA接口设计篇:这些都不知道,别说你懂接口设计

    背景 昨天测试提醒有个功能报错了,我看了下,发现接口有过更新. 然后顺便问了下开发同学,确实有更新. 他们的更新是把现有的接口进行了修改. 导致返回的数据结构变更了,以至于接口直接报错. 其实负责后端 ...

  2. 7个使用PyTorch的技巧,含在线代码示例!网友:我连第一个都不知道?!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大家在使 ...

  3. 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...

    最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见. 在沟通中发现,由于年限不小, ...

  4. 用net连某台电脑c盘怎么连_关于电脑的4个冷知识,恐怕90%的人连第一个都不知道!...

    很多人对于身边常见的事物都有一种自以为是的"误解",总觉得自己对它已经是非常了解的了.其实不然,就像很多高考生在考试前以为自己已到达政史地.数理化的巅峰,结果后来才发现自己仍然是个 ...

  5. 两边双虚线是什么意思_单黄线和双黄线有什么不同?很多人都记不对,被扣分都不知道...

    现在的社会发展越来越好,经济也有了很大的提升,人们也开始提升自己的生活质量.买车就成了很多人的首选,因为买车可以很大的方便人们的生活.不过即使买车,也并不是说就可以随随便便的开车上路的.现在路上的车辆 ...

  6. python3.7和3.8的区别-Python 3.8 新功能来一波(大部分人都不知道)

    Python 是一门广受好评的编程语言,每个版本的更新都会对开发社区带来一定影响.近日,Python 3.8 已进入 beta 2 版本的测试中,各项新特性已经添加完毕,最终版本预计于今年 10 月发 ...

  7. 就知道调bert,都不知道加个对比学习吗?

    说到句向量,大家除了第一反应是用bert的CLS作为句向量,还有就是用word2vec学到每个词的向量,然后把句子中所有的词向量做pooling作为句子的向量.有篇论文SimCSE提到可以引入对比学习 ...

  8. datetimepicker不可以选择当天之前_专访吴京:网上《战狼3》的消息我都不知道,大家可以选择不信...

    搜狐娱乐讯 (哈麦/文)在2017爆火的<战狼2>之后,吴京演了<祖宗十九代><流浪地球><老师·好><银河补习班><攀登者>& ...

  9. 学python适合什么年龄段的人用_7个现在就该学习Python 的理由【80%的人都不知道】...

    Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎. 诚然,它有点老了,但仍是 80 后啊 -- 至少没有 C ...

最新文章

  1. 计算机书籍-大型网站性能优化实战
  2. 基因组测序数据分析:测序技术
  3. 保持图片和图片框一致的方法 收藏
  4. python操作mongodb语法_python 操作MongoDB
  5. 程序员的4种心态与4种将来
  6. 2.2tensorflow2官方demo
  7. SSH2+Daoz项目中的分页查询
  8. 云栖大会|感受万物数字化,体验千行视频化
  9. JavaFX游戏(四连环)
  10. Spring MVC面试题
  11. C++ STL deque创建
  12. tensorflow中用saver保存模型
  13. flash 与随机性:随机抽取(2)
  14. string.Format字符串格式化说明
  15. 乌龟git安装和使用
  16. 牛客网初阶练习(6)
  17. ts540服务器安装系统,ThinkServer TS540 OS安装手册 V1.3.pdf
  18. c盘空间太小怎么办 c盘如何扩展分区
  19. 网页动画的12原则,帮你做出漂亮的动画效果
  20. Python数据类型之三(列表)

热门文章

  1. md5碰撞Java_java现在MD5加密不安全了吗?
  2. [转]GIS开发平台的未来 —— .NET还是J2EE?
  3. uvalive5986(贪心)
  4. 世界对一名颓废者的惩罚——SDOI2019R1游记
  5. esd管 低cj要求_TVS管与ESD保护二极管的区别,联系以及应用
  6. mysql insert报错_mysql数据库使用insert语句插入中文数据报错
  7. quartus2管教锁定出不来_Quartus II 中常见Warning 原因及解决方法(转载)
  8. python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
  9. springboot心跳检测_springboot websocket 实时刷新 添加心跳机制(亲测可用版)
  10. python什么模块动态调用链接库_python如何调用扩展模块