Python从入门到熟练(4):基础数据类型
1. 变量与赋值
1.1 什么是变量
就像一个盒子(或者容器),可以通过使用定义变量的方式,开辟一块内存空间存储数据,定义变量之后使用变量名调用数据。
- 如何定义一个变量
赋值号(
=
):对变量赋值 变量名 = 值, eg: a = 2
- Python中的命名规则:
- 标识符由
字符(A〜Z , a〜z )
、下划线
和数字
组成 - 第一个字符不能是数字
- 不能包含空格、@、%以及$等特殊字符
- 不 能 和Python中的关键字相同,例如:True , False , None等
- 标识符由
1.2 Python中的33个关键字
1.3 常见命名风格:
- 小写字母:
lowercase
-
使用下划线分隔的小写字母:
lower_ase_with_underscores
- 大写字母:
UPPERCASE
- 使用下划线分隔的大写字母:
UPPER_CASE_WITH_UNDERSCORES
- 大驼峰命名法:
UpperCamelCase
-
小驼峰命名法:
lowerCamelCase
注:推荐使用下划线分割以及小驼峰命名法
1.4 标准数据类型:
- String (字符串)
- Number (数字)
- int (整 型 )
- float (浮点型)
- complex (复数型)
- List (列表)
- Tuple (元组)
- Set (集合)
- Dictionary (字典)
2 . 字符串
- 常见的字符串操作:
Eg:
- 转义字符 ( Python中的特殊字符):
Eg:
3 . 数字型
Python支持三种不同的数字类型:
-
整型(int)
通常被称为整型或整数,包括正、负整数,不带小数点
例:_int = 10
-
浮点型(float)
浮点型由整数部分与小数部分组成
例:_float = 3.14159
-
复数(complex )
复数由实数部分和虚数部分构成,可以用a + bj ,或者 complex(a,b)表示,复数的实部a和虚部b都是浮点型
例:_complex = 4_53e-7_34j
- 数字类型转换:
Eg:
- 常见的数字操作:
Eg:
4. 运算符
4.1 算数运算符
Eg:
4.2 赋值运算符
Eg:
5. 格式化输出
- 输出字符串时,如果需要填充其他变量,则可以使用%符号进行格式化输出
- 包含%的字符串,被称为格式化字符串
Eg:
【重磅】CV大佬Szeliski-新书《计算机视觉:算法与应用(第二版)》,1206页pdf
专知 今天
计算机视觉重磅书!
Richard Szeliski博士,计算机视觉领域的大师级人物,现为Facebook研究科学家。Szeliski博士在计算机视觉研究方面有25年以上的丰富经验,先后任职干DEC和微软研究院。1996年,他在微软研究院任职期间,提出一种基于运动的全景图像拼接模型,采用L-M算法,通过求图像间的几何变换关系来进行图像匹配。此方法是图像拼接领域的经典算法,Richard Szeliski也因此成为图像拼接领域的奠基人。
http://szeliski.org/RichardSzeliski.htm
计算机视觉:算法与应用(第二版)
地址:http://szeliski.org/Book/
本书萌芽于2001年,当时,华盛顿大学的Steve Seitz邀我和他一起讲一门课,课程名称是“面向计算机图形学的计算机视觉”。那个时候,计算机图形学领域正在越来越多地使用计算机视觉技术,用它来创建基于图像的真实物体的模型,用于产生视觉效果,用于通过计算摄影学技术来合并真实影像。我们决定聚焦于计算机视觉在若干有趣问题中的应用,例如使用个人照片的图像拼接和基于照片的3D建模等,这一想法引起了学生们的共鸣。
从那时起,华盛顿大学和斯坦福大学就一直使用类似的课程大纲和项目导向的课程结构来进行常规计算机视觉课程的教学(在斯坦福大学,在2003年这门课程由我和David Fleet共同讲授)。类似的课程大纲也被其他很多大学所采用,并被纳入计算摄影学相关的更专业的课程。(有关如何在课程中使用本书的建议,请参见1.4节的表1.1。)
本书还反映了我在企业研究实验室(DEC剑桥研究实验室和微软研究院)这二十年的计算机视觉研究经历。在从事研究的过程中,我主要关注在真实世界中具有实际应用的问题和在实践中行之有效的方法(算法)。因此,本书更强调在真实世界条件下有效的基本方法,而较少关注内在完美但难以实际应用的神秘的数学内容。
本书适用于计算机科学和电子工程专业高年级本科的计算机视觉课程。学生最好已经修过图像处理或计算机图形学课程,这样一来,便可以少花一些时间来学习一般性的数学背景知识,多花一些时间来学习计算机视觉技术。本书也适用于研究生的计算机视觉课程(通过专研更富有挑战性的应用和算法领域),作为基本技术和近期研究文献的参考用书。为此,我尽量尝试引用每个子领域中最新的研究进展,即便其技术细节过于复杂而无法在本书中涉及。
在课程教学过程中,我们发现,要使学生从容应对真实图像及其带来的挑战,让他们尝试实现一些小的课程设计(通常一个建立在另一个基础之上),是很有帮助的。随后,要求学生分成组选择各自的主题,完成最终的课程设计。(有时,这些课程设计甚至能转换为会议论文!)本书各章最后的习题包含有关小型中期课程设计题目的很多建议,也包含一些更开放的问题,这些问题的解决仍然是活跃的研究课题。只要有可能,我都会鼓励学生用他们自己的个人照片来测试他们的算法,因为这可以更好地激发他们的兴趣,往往会产生富有创造性的衍生问题,使他们更熟悉真实影像的多样性和复杂性。
在阐述和解决计算机视觉问题的过程中,我常常发现从三个高层途径获取灵感是有帮助的。
- 科学层面:建立图像形成过程的详细模型,为了恢复感兴趣量而构建其逆过程的数学方法(必要时,做简化假设使其在数学上更容易处理)。
- 统计层面:使用概率模型来量化产生输入图像的未知量先验似然率和噪声测量过程,然后推断所期望量的最可能的估计并分析其结果的不确定程度。使用的推断算法往往与用于逆转(科学的)图像形成过程的优化方法密切相关。
- 工程层面:开发出易于描述和实现且己知在实践中行之有效的方法。测试这些方法,以便于了解其不足和失效模态,及其期望的计算代价(运行时的性能)。
以上这三个途径相互依存,并且贯穿本书始终。
第二版特别注释
过去的十年见证了计算机视觉算法在性能和适用性上的一次真正的爆炸,其中大部分是由机器学习算法运用于大量视觉训练数据而产生的。
深度神经网络现在在许多视觉算法中扮演着重要的角色,这本书的新版本在早期就将其作为基础技术介绍,并在后续章节中广泛使用。
第二版中最显著的变化包括: 机器学习、深度学习和深度神经网络在第5章中介绍,因为它们在视觉算法中扮演的角色与在前两章中介绍的图像处理、图形/概率模型和能量最小化等更经典的技术一样重要。
- 由于端到端深度学习系统不再需要开发构建模块,如特征检测、匹配和分割,因此识别章节已经在书的早些时候移到了第6章。许多选修视觉课程的学生主要对视觉识别感兴趣,因此在课程的早期呈现这些资料,可以使学生更容易以这些主题为期末专题的基础。
目录内容:
内容节选
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Windows平台安装Oracle11.2.0.4客户端报错INS-30131
- 实战丨如何制作一个完整的外卖微信小程序开发项目(已开源)
- CMake入门实战——多个源文件
- CMake入门实战——自定义编译选项
- CMake入门实战——其他
- git报错,远程克隆和更新不下来解决方法
- CMake入门实战——生成安装包
- PyTorch 60分钟入门系列之PyTorch简介
- 解决Nginx转发http后不走https的问题 后端tomcat
- PyTorch 60分钟入门系列之自动求导
- Roslyn 打包 NuGet 包添加改动日志
- PyTorch 60分钟入门系列之神经网络
- Linux 是如何管理内存的?
- Jmeter 常用函数(17)- 详解 __substring
- Jmeter 常用函数(14)- 详解 __strLen