2019-07-16 16:20:51 chen801090 阅读数 29
  • Python实战编程

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】          当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。        在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。       本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。        课程开发工具与代码下载地址:https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A

    9207 人正在学习 去看看 李兴华

Python编程学习笔记:列表

Python容器包括列表、元组、集合与字典。这些数据结构中都涉及到很多的方法,在这里对比较常用的一些方法进行介绍,不用每个方法都记住,熟悉常用的记牢就可以啦。

在这里插入图片描述
我们先来看列表。

一、列表的创建方式

# -*- coding: utf-8 -*-
# __author : Demon
# date : 1/16/18 8:19 PM
# 列表的创建
empty_list_01 = [] # 创建一个空的列表
empty_list_02 = list() # 创建一个空的列表
num_list = [1, 2, 3, 4, 5] # 创建一个数字列表
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
mix_list = [1, 'a', 'abc'] # 一个列表中可包含元素类型不是固定的
nest_list = [num_list, str_list, mix_list] # 列表可以嵌套
print(num_list) # [1, 2, 3, 4, 5]
print(str_list) # ['a', 'b', 'c']
# 由打印结果可以看出列表的存储是有顺序的
# 即怎么存的就怎么取
print(num_list[0]) # 列表接受下标访问,类似于JAVA中的数组 1
print(num_list[1]) # 列表接受下标访问,类似于JAVA中的数组 2
print(num_list[2]) # 列表接受下标访问,类似于JAVA中的数组 3
print(num_list[3]) # 列表接受下标访问,类似于JAVA中的数组 4
print(num_list[4]) # 列表接受下标访问,类似于JAVA中的数组 5
# 一旦超出长度,就会抛出异常
# print(num_list[5]) # IndexError: list index out of range

二、列表中的常用操作

# -*- coding: utf-8 -*-
# __author : Demon
# date : 1/16/18 8:19 PM
# 1. 列表的循环方式【重要】
num_list = [1, 2, 3, 4, 5] # 创建一个数字列表
for num in num_list:
 print(num, end="") # 123456
print()
# 2. 求长度
num_list = [1, 2, 3, 4, 5] # 创建一个数字列表
print(len(num_list)) # 5
# 3. 判断列表是否为空【重要】
empty_list = list()
num_list = [1, 2, 3]
# 利用非0即True的原则【推荐方法】
if not empty_list: # 如果列表为空
 print("The list is empty")
else:
 print("The list is not empty")
# 利用长度
if not len(num_list):
 print("The list is empty")
else:
 print("The list is not empty")
# 4. 判断元素是否存在【重要】
num_list = [1, 2, 3]
if 2 in num_list:
 print("in")
else:
 print("not in")
# 5. append(ele) 尾端添加元素
empty_list = [] # 创建一个空的列表
for s in "Hello":
 empty_list.append(s)
print(empty_list) # ['H', 'e', 'l', 'l', 'o']
# 上述代码也是将字符串转换为列表的一种方式,只是代码比较复杂
# 6. 列表切片的用法,如字符串切片的用法类似【重要】
# 用法 list[start:end:step]
# start可省略,默认值为0
# end可省略,默认为最大长度
# step可省略,默认为1
# 范围是[start, end),即左闭右开
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
# 获取整个list, ['a', 'b', 'c']
print(str_list[::])
print(str_list[0:])
print(str_list[:3])
print(str_list[:200]) # 长度超出时,不会报错
# 获取部分
print(str_list[0:2]) # ['a', 'b']
print(str_list[0:2:2]) # ['a']
# 7.sort排序【重要】
# 注意这个方法没有返回值,是在原列表上进行修改
str_list = ["adfas", "dsdfw", "nklo"]
str_list.sort()
print(str_list) # ['adfas', 'dsdfw', 'nklo']
# 8.insert(pos, ele) 在指定位置插入元素
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
str_list.insert(2, "we") # ['a', 'b', 'we', 'c']
print(str_list)
# 如果位置超出长度,不会报错,会在尾部插入
str_list.insert(20, "we") # [['a', 'b', 'we', 'c', 'we']
print(str_list)
# 9.del(pos) 删除指定位置的元素
# 需要注意这个方法不是通过列表.调用的
# 可以类似理解为,它不是列表这个类中的方法
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
del str_list[0]
print(str_list) # ['b', 'c']
# del str_list[20] # IndexError: list assignment index out of range
# 10.extend(list)或+=合并
num_list = [1, 2]
str_list = ["a", "b"]
print(str_list + num_list) # ['a', 'b', 1, 2]
# 11.remove(ele) 删除指定值
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
str_list.remove("a")
print(str_list) # ['b', 'c']
# str_list.remove("d") # ValueError: list.remove(x): x not in list
# 12.pop(pos) 删除指定位置的元素
str_list = ['a', 'b', 'c'] # 创建一个字符串列表
# str_val = str_list.pop(100) # IndexError: pop index out of range
str_val = str_list.pop(0)
print(str_val) # a
print(str_list) # ['b', 'c']
# 13.reverse() 反转,见练习
# 14.count(ele)方法查看某个元素出现的次数
str_list = ['abc', 'b', 'c', "abc"]
print(str_list.count("abc")) # 2

三、列表的转换

其他形式转列表,采用list(otherType)的方法。可以转列表的类型有:字符串,元组等,如下代码所示:

str_01 = "abc"
print(list(str_01)) # ['a', 'b', 'c']
tuple_01 = (1, 2, 3)
print(list(tuple_01)) # [1, 2, 3]

列表转其他形式,通常看其他形式是怎么支持转换。其中比较灵活的是列表转字符串,采用join的方法,如下代码所示:

str_list = ["a", "b", "c"]
print(",".join(str_list)) # a,b,c
print("".join(str_list)) # abc

列表转字符串需要注意:首先,join方法不是列表自带的方法,从调用来看,它是字符串里的方法;其次,join方法,如果列表中的元素不是字符串,会报错,如下代码所示:

num_list = [1, 2, 3] 
# print("".join(num_list)) # TypeError: sequence item 0: expected str instance, int found

四、Python编程学习常见的练习题

1. 列表的反转

 # 方式一:调用列表的reverse()方法
    num_list = [1, 2, 3]
    num_list.reverse()
    print(num_list) # [3, 2, 1]
    # 方式二:使用切片
    num_list = [1, 2, 3]
    for num in num_list[::-1]:
     print(num)
    # 如果需要[3, 2, 1]这样的格式
    num_list = [1, 2, 3]
    print("[", end="")
    for num in num_list[:0:-1]:
     print(num, end=", ")
    if not num_list: # 如果列表为空
     print("]")
    else:
     print("%d]" % num_list[0])

2.如何将列表拷贝到别一个列表中

nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list # 直接赋值拷贝
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
# 直接赋值的拷贝会影响原来的列表,是一种浅拷贝
nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list[::] # 切片
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]
nest_list[-1].append("d")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]
# 使用切片,改变最外层对原列表没有影响,而内层是有影响的。这也是一种浅拷贝
nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list.copy() # 使用copy方法
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]
nest_list[-1].append("d")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]
# 使用copy,改变最外层对原列表没有影响,而内层是有影响的。这也是一种浅拷贝
# 如果想要实现深拷贝,需要使用copy模块中的deepcopy方法,详见<python中的深拷贝与浅拷贝>一文

3.列表的排序

列表的简单排序通常使用list.sort()方法。 但是这个sort方法使用会相对比较灵活。它的完整定义如下:

sort(*, key=None, reverse=False)

key指定一个函数名,并且这个函数只能接受一个参数

reverse指定排序的方式

x = ['bc', 'essmm', 'mdsfm', 'ss' ]
x.sort(key=str.lower)
print(x) # ['bc', 'essmm', 'mdsfm', 'ss']
y = [3, 2, 8, 0, 1]
y.sort(reverse=True)
print(y) # [8, 3, 2, 1, 0]

可以发现,使用list.sort()方法进行排序,是调用的列表中自带的方法,并且它是作用于原列表,并没有返回值。如果我们想要得到一个新的排好序的列表,则需要使用到sorted()方法。

更多的Python编程学习笔记会在下期为大家继续更新!

2018-06-09 23:14:43 qintaiwu 阅读数 2896
  • Python实战编程

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】          当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。        在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。       本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。        课程开发工具与代码下载地址:https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A

    9207 人正在学习 去看看 李兴华

【前言】

本文首发于:泰泰博客——Python计算机视觉编程,大数据、人工智能学习书籍。

今天给大家推荐一本好书——Python计算机视觉编程。如果你在寻找关于大数据相关的学习书籍或准备“进军”大数据、人工智能的朋友,那么你可以看一下今天泰泰分享的这一本书(电子书)。

该书是计算机视觉编程的权威实践指南,依赖 Python 语言讲解了基础理论与算法,并通过大量示例细致分析了对象识别、基于内容的图像搜索、光学字符识别、光流法、跟踪、三维重建、立体成像、增强现实、姿态估计、全景创建、图像分割、降噪、图像分组等技术。另外,书中附带的练习还能让读者巩固并学会应用编程知识。

这本书适合的读者是 :有一定编程与数学基础,想要了解计算机视觉的基本理论与算法的学生,以及计算机科学、信号处理、物理学、应用数学和统计学、神经生理学、认知科学等领域的研究人员和从业者。

Programming_Computer_Vision_with_Python

章节目录

第 1 章 基本的图像操作和处理 ............................................................................................ 1
1.1 PIL:Python 图像处理类库 .......................................................................................... 1
1.1.1 转换图像格式 ................................................................................................................ 2
1.1.2 创建缩略图 .................................................................................................................... 3
1.1.3 复制和粘贴图像区域 .................................................................................................... 3
1.1.4 调整尺寸和旋转 ............................................................................................................ 3
1.2  Matplotlib ....................................................................................................................... 4
1.2.1 绘制图像、点和线 ........................................................................................................ 4
1.2.2 图像轮廓和直方图 ........................................................................................................ 6
1.2.3 交互式标注 .................................................................................................................... 7
1.3  NumPy ............................................................................................................................ 8
1.3.1 图像数组表示 ................................................................................................................ 8
1.3.2 灰度变换 ........................................................................................................................ 9
1.3.3 图像缩放 ...................................................................................................................... 11
1.3.4 直方图均衡化 .............................................................................................................. 11
1.3.5 图像平均 ...................................................................................................................... 13
1.3.6 图像的主成分分析(PCA)..................................................................................... 14
1.3.7 使用 pickle 模块 ......................................................................................................... 16
1.4  SciPy .............................................................................................................................. 17
1.4.1 图像模糊 ...................................................................................................................... 18
1.4.2 图像导数 ...................................................................................................................... 19
1.4.3 形态学:对象计数 ..................................................................................................... 22
1.4.4 一些有用的 SciPy 模块 ........................................................................................... 23
1.5 高级示例:图像去噪 .................................................................................................... 24
练习 .......................................................................................................................................... 28
代码示例约定 ......................................................................................................................... 29

第 2 章 局部图像描述子 ......................................................................................................... 31
2.1 Harris 角点检测器 ............................................................................................................ 31
2.2 SIFT(尺度不变特征变换)..............................................................................................39
2.2.1 兴趣点 .......................................................................................................................... 39
2.2.2 描述子 .......................................................................................................................... 39
2.2.3 检测兴趣点 .................................................................................................................. 40
2.2.4 匹配描述子 .................................................................................................................. 43
2.3 匹配地理标记图像 ......................................................................................................... 47
2.3.1 从 Panoramio 下载地理标记图像 ......................................................................... 47
2.3.2 使用局部描述子匹配 .................................................................................................. 50
2.3.3 可视化连接的图像 ...................................................................................................... 52
练习 ............................................................................................................................................. 54

第 3 章 图像到图像的映射 ..................................................................................................57
3.1 单应性变换 .......................................................................................................................57
3.1.1 直接线性变换算法 ...................................................................................................... 59
3.1.2 仿射变换 ...................................................................................................................... 60
3.2 图像扭曲 ...........................................................................................................................61
3.2.1 图像中的图像 .............................................................................................................. 63
3.2.2 分段仿射扭曲 .............................................................................................................. 67
3.2.3 图像配准 ...................................................................................................................... 70
3.3 创建全景图 ...................................................................................................................... 76
3.3.1 RANSAC ...................................................................................................................... 77
3.3.2 稳健的单应性矩阵估计 .............................................................................................. 78
3.3.3 拼接图像 ...................................................................................................................... 81
练习 ..............................................................................................................................................84

第 4 章 照相机模型与增强现实 ..........................................................................................85
4.1 针孔照相机模型 ...............................................................................................................85
4.1.1 照相机矩阵 .................................................................................................................. 86
4.1.2 三维点的投影 .............................................................................................................. 87
4.1.3 照相机矩阵的分解 ...................................................................................................... 89
4.1.4 计算照相机中心 .......................................................................................................... 90
4.2 照相机标定 ...................................................................................................................... 91
目录 | VII
4.3 以平面和标记物进行姿态估计 .......................................................................................93
4.4 增强现实 ........................................................................................................................... 97
4.4.1 PyGame 和 PyOpenGL ............................................................................................ 97
4.4.2 从照相机矩阵到 OpenGL 格式 ................................................................................98
4.4.3 在图像中放置虚拟物体 ............................................................................................ 100
4.4.4 综合集成 .................................................................................................................... 102
4.4.5 载入模型 .................................................................................................................... 104
练习 .................................................................................................................................................. 106

第 5 章 多视图几何 ....................................................................................................................... 107
5.1 外极几何 ................................................................................................................................. 107
5.1.1 一个简单的数据集 .................................................................................................... 109
5.1.2 用 Matplotlib 绘制三维数据 ................................................................................... 111
5.1.3 计算 F:八点法 ......................................................................................................... 112
5.1.4 外极点和外极线 ........................................................................................................ 113
5.2 照相机和三维结构的计算 ............................................................................................ 116
5.2.1 三角剖分 .................................................................................................................... 116
5.2.2 由三维点计算照相机矩阵 ........................................................................................ 118
5.2.3 由基础矩阵计算照相机矩阵 .................................................................................... 120
5.3 多视图重建 ...................................................................................................................... 122
5.3.1 稳健估计基础矩阵 .................................................................................................... 123
5.3.2 三维重建示例 ............................................................................................................ 125
5.3.3 多视图的扩展示例 .................................................................................................... 129
5.4 立体图像 ...........................................................................................................................130
练习 .............................................................................................................................................. 135

第 6 章 图像聚类 ....................................................................................................................137
6.1 K-means 聚类 .................................................................................................................137
6.1.1  SciPy 聚类包 .............................................................................................................. 138
6.1.2 图像聚类 .................................................................................................................... 139
6.1.3 在主成分上可视化图像 ............................................................................................ 140
6.1.4 像素聚类 .................................................................................................................... 142
6.2 层次聚类 ................................................................................................................................. 144
6.3 谱聚类 ..................................................................................................................................... 152
练习 .................................................................................................................................................. 157

第 7 章 图像搜索 ............................................................................................................................ 159
7.1 基于内容的图像检索 ............................................................................................................. 159
7.2 视觉单词 ................................................................................................................................. 160
7.3 图像索引 ................................................................................................................................. 164
7.3.1 建立数据库 ................................................................................................................ 164
7.3.2 添加图像 .................................................................................................................... 165
7.4 在数据库中搜索图像 .................................................................................................... 167
7.4.1 利用索引获取候选图像 ............................................................................................ 168
7.4.2 用一幅图像进行查询 ................................................................................................ 169
7.4.3 确定对比基准并绘制结果 ........................................................................................ 171
7.5 使用几何特性对结果排序 ............................................................................................... 172
7.6 建立演示程序及 Web 应用 ............................................................................................. 176
7.6.1 用 CherryPy 创建 Web 应用 ...................................................................................... 176
7.6.2 图像搜索演示程序 .................................................................................................... 176
练习 .................................................................................................................................................. 179

第 8 章 图像内容分类 ................................................................................................................... 181
8.1 K 邻近分类法(KNN)......................................................................................................... 181
8.1.1 一个简单的二维示例 ................................................................................................ 182
8.1.2 用稠密 SIFT 作为图像特征 ...................................................................................... 185
8.1.3 图像分类:手势识别 ................................................................................................ 187
8.2 贝叶斯分类器 .................................................................................................................190
8.3 支持向量机 .......................................................................................................................195
8.3.1 使用 LibSVM ............................................................................................................. 196
8.3.2 再论手势识别 ............................................................................................................ 198
8.4 光学字符识别 ................................................................................................................. 199
8.4.1 训练分类器 ................................................................................................................ 200
8.4.2 选取特征 .................................................................................................................... 200
8.4.3 多类支持向量机 ........................................................................................................ 201
8.4.4 提取单元格并识别字符 ............................................................................................ 202
8.4.5 图像校正 .................................................................................................................... 205
练习 .......................................................................................................................................... 206

第 9 章 图像分割 ................................................................................................................. 209
9.1 图割(Graph Cut)......................................................................................................209
9.1.1 从图像创建图 ............................................................................................................ 211
9.1.2 用户交互式分割 ........................................................................................................ 216
9.2 利用聚类进行分割 ................................................................................................................. 218
9.3 变分法 ..................................................................................................................................... 224
练习 .................................................................................................................................................. 226

第 10 章 OpenCV .......................................................................................................................... 227
10.1 OpenCV 的 Python 接口 ...................................................................................................... 227

下载地址

网盘链接: https://pan.baidu.com/s/1n43-n0U7d1N9gNSlSylflw 密码: cfsi

 

声明:本电子书是从网络搜集过来,然后再次分享给广大的学者,意在帮助到大家。书籍所有权归作者所有,如果本站侵权,请联系联系站长,谢谢!

2015-07-18 15:30:13 u010412719 阅读数 1329
  • Python实战编程

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】          当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。        在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。       本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。        课程开发工具与代码下载地址:https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A

    9207 人正在学习 去看看 李兴华

今天看了一下关于python的TCP编程。发现思路和其他语言(例如java)思路基本上差不多。

先看客户端。基本步骤如下:

  • 第一步:创建一个socket
  • 第二步:建立连接
  • 第三步:发送数据
  • 第四步:读取从服务器发送过来的数据
  • 第五步:关闭连接
  • 第六步:对收到的数据进行处理

下面为python的TCP编程的客户端程序的一个小例子。java中关于网络编程的博文请看这里

#coding:utf-8
#TCP编程的客户端程序
#编写客户端程序与其它语言(例如java)的思路差不多。如下
#第一步:创建一个socket
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#第二步:建立连接,参数是一个tuple,以访问新浪为例
s.connect(('www.sina.com.cn',80))#80端口是Web服务的标准端口
#第三步:发送数据
s.send(b'GET / HTTP/1.1\r\n Host:www.sina.com.cn\r\nConnection:close\n\r\n')
#第四步:接收数据
buffer=[]
while True:
    d=s.recv(1024)  #recv(max)方法,表示每次只能读取max个字节
    if d:
        buffer.append(d)
    else:
        break
date=b''.join(buffer)

#第五步:关闭连接
s.close()
#第六步:对接收到的数据进行处理
#由于接收到的数据包括http头和网页本身,因此将其分开
header,html=date.split(b'\r\n\r\n',1)
print(header.decode('utf-8'))
with open('sina.html','wb') as f:
    f.write(html)

下面看服务器端的程序,思路如下

  • 第一步:创建一个socket
  • 第二步:绑定监听的地址和端口,方法bind()只接收一个tuple
  • 第三步:调用listen()方法开始监听端口,传入的参数指定等待连接的最大数量
  • 第四步:服务器程序通过一个永久循环来接收来自客户端,accept()会等待并返回一个客户端的连接
#python中的服务器端的程序,其用来测试的客户端程序为:tcpClient1.py
#coding:utf-8

import socket
import threading
def tcplink(sock,addr):
    print('Accept new connection from %s:%s...'%addr)
    sock.send(b'welcome')
    while True:
        date=sock.recv(1024)
        if not date or date.decode('utf-8')=='exit':
            break 
        print(date.decode('utf-8')) 

    sock.close()
    print('Connection from %s:%s'%addr)
#第一步:创建一个socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#第二步:绑定监听的地址和端口,方法bind()只接收一个tuple
s.bind(('127.0.0.1',9999))
#第三步:调用listen()方法开始监听端口,传入的参数指定等待连接的最大数量
s.listen(10)
#第四步:服务器程序通过一个永久循环来接收来自客户端,accept()会等待并返回一个客户端的连接
while True:
    sock,addr=s.accept()
    #创建一个新线程来处理TCP链接
    threading.Thread(target=tcplink,args=(sock,addr)).start()

测试上面的服务器端的程序,我们用一个简单的客户端程序来测试,如下

#为tcpServer服务器端写一个测试的客户端程序
#coding:utf-8
import socket
#第一步:创建一个socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#第二步:建立连接
s.connect(('127.0.0.1',9999))
#第三步:发送数据
s.send(b'hello World!')
#第三步:接收数据
date=s.recv(1024)
print(date.decode('utf-8'))

刚好前几天系统的学习了一下git版本控制这个工具,于是,也就开始经营我的Github了,上面的代码可在我的Github中下载,点击这里即可

参考地址如下:关于TCP编程的详细介绍http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432004374523e495f640612f4b08975398796939ec3c000

2017-11-28 20:39:51 A_xilixiaogui 阅读数 176
  • Python实战编程

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】          当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。        在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。       本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。        课程开发工具与代码下载地址:https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A

    9207 人正在学习 去看看 李兴华

python面向对象编程

  • 基本概念理解

    1. 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
    2. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。
    3. 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
    4. 面向对象的设计思想是抽象出Class,根据Class创建Instance
  • 类与实例

    #对象
    class Student(object):
        def __init__(self, name, score):
            self.name = name;
            self.score = score;
        def print_score(self):
            print('%s: %s' % (self.name, self.score));
        def get_grade(self):
            if self.score >= 90:
                return 'A';
            elif self.score >= 60:
                return 'B';
            else:
                return 'C';
    
    bart = Student("yehui", 99);
    lisa = Student("yehui01", 55);
    bart.print_score();
    lisa.print_score();
    print(lisa.get_grade());
    # 注意到__init__方法的第一个参数永远是self,
    # 表示创建的实例本身,因此,在__init__方法内部,
    # 就可以把各种属性绑定到self,因为self就指向创建的实例本身。
    
  • 访问限制
    如果我们不想让对象的实例的属性值被外部代码修改的话,我们就可以把属性的名称前面加上两个下划线__,实例的变量名如果以下划线 开头,那么他就是一个私有变量

  • 继承与多态
    在面向对象编程的语言中,继承是其主要的特性之一(封装、多态、继承),在python中,他的面向对象编程的继承和c++等面向对象语言相类似,就是子类可以继父类的属性和方法,通过继承,子类获得了父类的全部功能。我就不总结了,下面是他的继承方式及格式:

    #继承
    class Animal(object):
        def run(self):
            print("Animal is running...");
    
    class Dog(Animal):
        def run(self):
            print("Dog is running...");
    
    class Cat(Animal):
        def eat(self):
            print("Cat is meating...");
    
    class Pig(Animal):
        pass;
    
    dog = Dog();
    dog.run();
    cat = Cat();
    cat.run();
    cat.eat();
    pig = Pig();
    pig.run();
    # Dog is running...
    # Animal is running...
    # Cat is meating...
    # Animal is running...
    

    你可以自己在给继承父类的子类添加方法和属性,也可也不添加。也可以重写父类的方法,这样子类的方法将会覆盖掉父类的方法。这就是继承的一个好处:多态

    #多态
    def run_twice(animal):
        animal.run();
        animal.run();
    run_twice(Animal());
    run_twice(Dog());
    # Animal is running...
    # Animal is running...
    # Dog is running...
    # Dog is running...
    

    python多态允许我们新增父类的子类。对修改封闭:不需要修改依赖Animal类型的run_twice()等函数。

    Python是动态语言来说,则不一定需要传入Animal类型。我们只需要保证传入的对象有一个run()方法就可以了

  • 获取对象信息
    通过python内置的一系列函数,我们可以对任意一个对象进行剖析

    1. 使用 type()函数判断对象的类型;
    2. 使用isinstance()来判断类class的继承类型;
    3. 使用dir()函数获取一个对象的所以属性和方法。

总结

python的面向对象编程的思想和其他的面向对象程序语言大同小异,只不过是写法和用法的有差异而已,我因为之前有学过c++,所以在这部分的学习比较粗略。

2019-05-24 21:59:59 aa541505 阅读数 124
  • Python实战编程

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】          当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。        在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。       本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。        课程开发工具与代码下载地址:https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A

    9207 人正在学习 去看看 李兴华

Python是适合做大数据分析的计算机语言吗?如今是一个大数据时代,通过数据分析,我们可以得到任何我们想知道的事情,充分挖掘数据的价值。之前有人说过JAVA语言是最适合做数据分析的计算机编程语言之一,在这里,我想说其实Python大数据也是大数据分析最受欢迎的编程语言。

  Python是一个强大的,灵活的,开放的,易于学习的源语言,使用方便,并具有强大的数据操作和分析库。其简单的语法使编程新手很容易学习和掌握,经历过Matlab,,C / C++,java,或Visual Basic,Python提供了一个独特的组合,都能使用编程语言以及使用方便的分析和定量计算

  在过去的十年中,Python已经被用于科学计算、金融等高度量化的领域,石油和天然气,物理,和信号处理。它已被用于提高航天飞机的设计,从哈勃太空望远镜的图像处理,是实现物理实验导致发现了希格斯玻色子的工具(所谓的“上帝粒子”)。

  同时,Python已经被用于构建大规模可扩展的Web应用程序,像YouTube,并推动谷歌内部基础设施。像迪士尼、索尼和梦工厂公司,卢卡斯ILM都依赖Python协调大规模的集群计算机图形服务器轰动的电影产生的意象。根据TIOBE指数,Python是一个在世界上最流行的编程语言,排名高于Perl,Ruby,和JavaScript。

  为什么说Python编程语言也是非常适合做大数据分析的语言之一呢?下面就来为大家分析一下。

  首先,Python语言它很容易上手。它融合了R语言快速成熟的数据挖掘能力之外,还有更实际的产品构建能力。Python语言也正在迅速地获得主流人士的拥护。只要你用过Python语言,你会发现它是更直观,并且相比R语言更容易学习。它在计算机语言中的整体趋势也是上升的很快。使其在统计分析上的能力超越了之前的R语言。

  Python是行业人员正在转换发展的方向。 过去两年里,很明显存在由R 向Python 转化的趋势”在数据处理中,通常存在规模和技巧的权衡,Python语言作为一个折中出现了。

  从对数据分析工作的处理上看,IPython notebook 和NumPy 可以用于轻量工作的处理, 而 Python 则是中级规模数据处理的有力工具。丰富的数据交流社区也是 Python 的优势,它提供了大量的Python 工具包和特性。

  据悉美国银行也是利用Python语言开发了新的产品以及基础设施接口。而且也用于处理金融数据。

  因为Python用途宽广且灵活、易学,所以现在学习python语言的同学拥蜂而至。所有说,Python大数据最受欢迎的编程语言之一!

如果你恰好在学大数据,想要通过本篇文章就学好大数据,我建议你可以把页面关闭掉,大数据是入门学容易,达到高薪是绝对需要系统学习的,当然如果你想着通过大数据提高你的收入,可以详细阅读我推荐的文章

推荐阅读文章

大数据工程师在阿里面试流程是什么?

学习大数据需要具备怎么样基础?

年薪30K的大数据开发工程师的工作经验总结?

 

python学习之mysql数据库编程

博文 来自: weixin_42156283

Python编程学习

阅读数 39

没有更多推荐了,返回首页