1.1 数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的 远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在 Python中,能够直接处理的数据类型有以下几种: ·整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,- 8080,0,等等。计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x前缀和 0-9,a-f 表 示,例如:0xff00,0xa5b4c3d2,等等。 ·浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如, 1.23x109和 12.3x108是完全相等的。浮点数可以用数学写法,如 1.23,3.14,-9.01,等等。但是对于很大或很小的浮 点数,就必须用科学计数法表示,把 10 用 e 替代,1.23x109就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5, 等等。 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运 算则可能会有四舍五入的误差。 ·字符串 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不 是字符串的一部分,因此,字符串'abc'只有 a,b,c这 3个字符。如果'本身也是一个字符,那就可以用""括起来,比如 "I'm OK"包含的字符是 I,',m,空格,O,K这 6个字符。 如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如: 'I\'m \"OK\"!' 表示的字符串内容是: I'm "OK"!
2022-08-19 17:17:15 5MB 廖雪峰 python .pdf
1
6.1 类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如 Student 类,而实例是 根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以 Student类为例,在 Python中,定义类是通过 class 关键字: class Student(object): pass class后面紧接着是类名,即 Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下 来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用 object类,这是所有类最终都会继承的类。 定义好了 Student类,就可以根据 Student类创建出 Student的实例,创建实例是通过类名+()实现的: >>> bart = Student() >>> bart >>> Student 可以看到,变量 bart指向的就是一个 Student的实例,后面的 0x10a67a590是内存地址,每个 object的地址都不一 样,而 Student本身则是一个类。 可以自由地给一个实例变量绑定属性,比如,给实例 bart 绑定一个 name属性: >>> bart.name = 'Bart Simpson' >>> bart.name 'Bart Simpson' 由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义 一个特殊的__init__方法,在创建实例的时候,就把 name,score等属性绑上去: class Student(object): def __init__(self, name, score): self.name = name self.score = score 注意到__init__方法的第一个参数永远是 self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属 性绑定到 self,因为 self就指向创建的实例本身。 有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但 self不需 要传,Python解释器自己会把实例变量传进去: >>> bart = Student('Bart Simpson', 59) >>> bart.name 'Bart Simpson' >>> bart.score 59 和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量 self,并且,调用时,不用传递 该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键 字参数。 ·数据封装
2022-03-17 15:01:32 5MB 廖雪峰 python .pdf
1
Data we can obtain from a FANUC CNC
2022-01-19 17:26:47 5.17MB fanuc focas
1
2.3 函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道 如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。 Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键 字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。 ·位置参数 我们先写一个计算 x2的函数: def power(x): return x * x 对于 power(x)函数,参数 x就是一个位置参数。 当我们调用 power函数时,必须传入有且仅有的一个参数 x: >>> power(5) 25 >>> power(15) 225 现在,如果我们要计算 x3怎么办?可以再定义一个 power3 函数,但是如果要计算 x4、x5……怎么办?我们不可能定义无 限多个函数。 你也许想到了,可以把 power(x)修改为 power(x, n),用来计算 xn,说干就干: def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s 对于这个修改后的 power(x, n)函数,可以计算任意 n次方: >>> power(5, 2) 25 >>> power(5, 3) 125 修改后的 power(x, n)函数有两个参数:x 和 n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序 依次赋给参数 x和 n。 ·默认参数 新的 power(x, n)函数定义没有问题,但是,旧的调用代码失败了,原因是我们增加了一个参数,导致旧的代码因为缺 少一个参数而无法正常调用: >>> power(5) Traceback (most recent call last): File "", line 1, in
2021-12-07 19:50:00 5MB 廖雪峰 python .pdf
1
5.2 安装第三方模块 在 Python中,安装第三方模块,是通过包管理工具 pip完成的。 如果你正在使用 Mac或 Linux,安装 pip本身这个步骤就可以跳过了。 如果你正在使用 Windows,请参考安装 Python一节的内容,确保安装时勾选了 pip和 Add python.exe to Path。 在命令提示符窗口下尝试运行 pip,如果 Windows提示未找到命令,可以重新运行安装程序添加 pip。 注意:Mac或 Linux上有可能并存 Python 3.x和 Python 2.x,因此对应的 pip命令是 pip3。 现在,让我们来安装一个第三方库——Python Imaging Library,这是 Python下非常强大的处理图像的工具库。不过, PIL目前只支持到 Python 2.7,并且有年头没有更新了,因此,基于 PIL的 Pillow项目开发非常活跃,并且支持最新的 Python 3。 一般来说,第三方库都会在 Python官方的 pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称, 可以在官网或者 pypi上搜索,比如 Pillow的名称叫 Pillow,因此,安装 Pillow的命令就是: pip install Pillow 耐心等待下载并安装后,就可以使用 Pillow了。 有了 Pillow,处理图片易如反掌。随便找个图片生成缩略图: >>> from PIL import Image >>> im = Image.open('test.png') >>> print(im.format, im.size, im.mode) PNG (400, 300) RGB >>> im.thumbnail((200, 100)) >>> im.save('thumb.jpg', 'JPEG') 其他常用的第三方库还有 MySQL的驱动:mysql-connector-python,用于科学计算的 NumPy库:numpy,用于生成文 本的模板工具 Jinja2,等等。 ·模块搜索路径 当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错: >>> import mymodule Traceback (most recent call last): File "", line 1, in ImportError: No module named mymodule 默认情况下,Python 解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在 sys 模块的 path 变量中: >>> import sys >>> sys.path ['', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages']
2021-10-08 15:10:31 5MB 廖雪峰 python .pdf
1
9.1 文件读写 读写文件是最常见的 IO操作。Python内置了读写文件的函数,用法和 C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序 直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的 接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。 ·读文件 要以读文件的模式打开一个文件对象,使用 Python内置的 open()函数,传入文件名和标示符: >>> f = open('/Users/michael/test.txt', 'r') 标示符'r'表示读,这样,我们就成功地打开了一个文件。 如果文件不存在,open()函数就会抛出一个 IOError的错误,并且给出错误码和详细的信息告诉你文件不存在: >>> f=open('/Users/michael/notfound.txt', 'r') Traceback (most recent call last): File "", line 1, in FileNotFoundError: [Errno 2] No such file or directory: '/Users/michael/notfound.txt' 如果文件打开成功,接下来,调用 read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个 str对
2021-08-20 10:27:50 5MB 廖雪峰 python .pdf
1
fanuc focas函数库说明, 可根据协议对fanuc系统进行数据采集 ,
2021-07-22 11:34:30 2.45MB fanuc focas 数据采集
1
个人整理的资料,FANUC_focas函数库(全)中文版,方便FANUC开发者查询使用 focas 函数库的函数,
2021-04-23 08:49:10 724KB FANUC FOCAS focas函数库
1