ironpython使用opencv_连这些都不知道,就别说自己懂Python!
俗话说的好,千里之行始于足下。无论做什么事情,基础都是最重要的,当你以为自己“精通”某语言的时候,有没有问过自己:
“能不能把这些知识,用最简单的话说出来,让不懂的人也能听明白?”
当你真正精通某语言的时候,我相信你一定能做到。如果做不到,那就需要往下看,再学习一下基础。
为了帮助大家彻底理解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!相关推荐
- JAVA接口设计篇:这些都不知道,别说你懂接口设计
背景 昨天测试提醒有个功能报错了,我看了下,发现接口有过更新. 然后顺便问了下开发同学,确实有更新. 他们的更新是把现有的接口进行了修改. 导致返回的数据结构变更了,以至于接口直接报错. 其实负责后端 ...
- 7个使用PyTorch的技巧,含在线代码示例!网友:我连第一个都不知道?!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大家在使 ...
- 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...
最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见. 在沟通中发现,由于年限不小, ...
- 用net连某台电脑c盘怎么连_关于电脑的4个冷知识,恐怕90%的人连第一个都不知道!...
很多人对于身边常见的事物都有一种自以为是的"误解",总觉得自己对它已经是非常了解的了.其实不然,就像很多高考生在考试前以为自己已到达政史地.数理化的巅峰,结果后来才发现自己仍然是个 ...
- 两边双虚线是什么意思_单黄线和双黄线有什么不同?很多人都记不对,被扣分都不知道...
现在的社会发展越来越好,经济也有了很大的提升,人们也开始提升自己的生活质量.买车就成了很多人的首选,因为买车可以很大的方便人们的生活.不过即使买车,也并不是说就可以随随便便的开车上路的.现在路上的车辆 ...
- python3.7和3.8的区别-Python 3.8 新功能来一波(大部分人都不知道)
Python 是一门广受好评的编程语言,每个版本的更新都会对开发社区带来一定影响.近日,Python 3.8 已进入 beta 2 版本的测试中,各项新特性已经添加完毕,最终版本预计于今年 10 月发 ...
- 就知道调bert,都不知道加个对比学习吗?
说到句向量,大家除了第一反应是用bert的CLS作为句向量,还有就是用word2vec学到每个词的向量,然后把句子中所有的词向量做pooling作为句子的向量.有篇论文SimCSE提到可以引入对比学习 ...
- datetimepicker不可以选择当天之前_专访吴京:网上《战狼3》的消息我都不知道,大家可以选择不信...
搜狐娱乐讯 (哈麦/文)在2017爆火的<战狼2>之后,吴京演了<祖宗十九代><流浪地球><老师·好><银河补习班><攀登者>& ...
- 学python适合什么年龄段的人用_7个现在就该学习Python 的理由【80%的人都不知道】...
Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎. 诚然,它有点老了,但仍是 80 后啊 -- 至少没有 C ...
最新文章
- 计算机书籍-大型网站性能优化实战
- 基因组测序数据分析:测序技术
- 保持图片和图片框一致的方法 收藏
- python操作mongodb语法_python 操作MongoDB
- 程序员的4种心态与4种将来
- 2.2tensorflow2官方demo
- SSH2+Daoz项目中的分页查询
- 云栖大会|感受万物数字化,体验千行视频化
- JavaFX游戏(四连环)
- Spring MVC面试题
- C++ STL deque创建
- tensorflow中用saver保存模型
- flash 与随机性:随机抽取(2)
- string.Format字符串格式化说明
- 乌龟git安装和使用
- 牛客网初阶练习(6)
- ts540服务器安装系统,ThinkServer TS540 OS安装手册 V1.3.pdf
- c盘空间太小怎么办 c盘如何扩展分区
- 网页动画的12原则,帮你做出漂亮的动画效果
- Python数据类型之三(列表)
热门文章
- md5碰撞Java_java现在MD5加密不安全了吗?
- [转]GIS开发平台的未来 —— .NET还是J2EE?
- uvalive5986(贪心)
- 世界对一名颓废者的惩罚——SDOI2019R1游记
- esd管 低cj要求_TVS管与ESD保护二极管的区别,联系以及应用
- mysql insert报错_mysql数据库使用insert语句插入中文数据报错
- quartus2管教锁定出不来_Quartus II 中常见Warning 原因及解决方法(转载)
- python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
- springboot心跳检测_springboot websocket 实时刷新 添加心跳机制(亲测可用版)
- python什么模块动态调用链接库_python如何调用扩展模块