![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
T`gw
python、java、storm、hadoop
展开
-
Python基础数据结构及其常用方法
Python基础语法列表元组字符串字典语句面向对象编程列表元组1.列表和元组序列:序列是一种数据结构,其中的元素带编号(编号从0开始)。列表、字符串和元组 都属于序列,其中列表是可变的(你可修改其内容),而元组和字符串是不可变的(一旦 创建,内容就是固定的)。要访问序列的一部分,可使用切片操作:提供两个指定切片起 始和结束位置的索引。要修改列表,可给其元素赋值,也可使用赋值语句给切片赋值。...原创 2019-07-16 09:42:12 · 292 阅读 · 0 评论 -
Python实现单例模式
单例模式的作用:防止创建多个对象,造成内存浪费或多个对象之间的信息不匹配带来误解单例模式特点:1)单例类只能有一个实例2)单例类必须自己创建自己的唯一实例3)单例类必须给所有其他对象提供这一实例实现单例模式的集中方法:一)Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,就会直接加载 .pyc 文件,而不会再次执行模块代码。因此...原创 2019-08-27 18:20:13 · 195 阅读 · 0 评论 -
python i+=1与i=i+1的区别
'''探索 i += 1 与 i = i+1 的区别''''''对于不可变对象int str tuple都会创建一个新的内存地址'''i = 0print(id(i)) # 1564271360i += 1print(id(i)) # 1564271376i = i + 1print(id(i)) # 1564271392'''对于可变类型对象 i+=1不会...原创 2019-08-27 18:14:14 · 22219 阅读 · 0 评论 -
Python函数参数引用问题
注意:在python中,值相等的不可变对象内存地址是共享的,创建可变对象永远是分配新地址,且分别声明的值相等的可变对象内存地址不同正题:python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。...原创 2019-08-27 18:11:14 · 335 阅读 · 0 评论 -
Python str转byte后转义字符\n失效问题(已解决)
问题最近在使用python操作HDFS,发现在往HDFS文件中追加字符串时,换行的转义字符\n老是不起作用解决办法:在转义字符\n前再添加一个\rwith client.write('/tool/test_first.txt', encoding='utf-8',append=True) as writer: writer.write(' \r\n this is append ...原创 2019-07-26 11:01:47 · 3375 阅读 · 0 评论 -
利用Python和Hadoop Streaming实现Map Reduce的简单案例
需求:得到每个月温度最高的两天mapper.py#!/usr/bin/env python# -*- coding: utf-8 -*-"""-------------------------------FileName: mapperAuthor: TgwDate: 19-07-28-------------------------------Change Activity...原创 2019-07-30 13:12:52 · 245 阅读 · 0 评论 -
Python连接MySQL
1)import pymysql2)创建连接:conn = pymysql.connect(user='root', password='682240', host='localhost', port=3306, ...原创 2019-07-16 18:21:53 · 136 阅读 · 0 评论 -
Python网络编程客户端
编程流程:1)创建套接字2)创建连接3)发送数据数据要用二进制个数编码4)接收数据,并设置数据流大小import socketclientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:''' 服务器的地址和端口 '''host = '169.254.6.166'port = 1234c...原创 2019-07-16 18:07:42 · 112 阅读 · 0 评论 -
Python网络编程之服务器
编程流程:1)服务器端先初始化Socket2)然后与端口绑定(bind)3)对端口进行监听(listen)4)调用accept阻塞,等待客户端连接5)在这时如果有个客户端初始化一个Socket,然后连接服务器(connect)6)如果连接成功,这时客户端与服务器端的连接就建立了7)客户端发送数据请求,8)服务器端接收请求并处理请求,然后把回应数据发送给客户端数据要用二进制个数编码...原创 2019-07-16 18:05:30 · 237 阅读 · 0 评论 -
Python网络编程TCP、IP、UDP
网络编程基础知识唯一标识一个进程:网络编程首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进...原创 2019-07-16 17:57:57 · 153 阅读 · 0 评论 -
Python多线程、多线程
创建多进程import time,multiprocessingdef test_1(name): # current_process()访问当前进程实例name的特性, # 这个特性是当前进程实例的名称 print(multiprocessing.current_process().name) print(name,1) time.sleep(0.5...原创 2019-07-16 17:42:07 · 81 阅读 · 0 评论 -
Python装饰器
装饰器是一种闭包函数,装饰器中包含的内部函数相当于被装饰的函数,所以当被装饰的函数是有参函数时,装饰器的内部函数也应该有参数装饰器的语法有2中:一种是 被装饰函数名 = 装饰器函数名(被装饰函数名)func = decorator(func)第二种是在被装饰函数的上一行添加一行代码 @装饰器名为了实现有返回值的函数被装饰了之后仍然有返回值,需要内部函数与被装饰函数的返回值保持一致...原创 2019-07-16 10:20:04 · 73 阅读 · 0 评论 -
python生成注释文档
利用python中的内置模块pydoc1)打开控制台进入 想生成注释文档的 模块的目录。2)输入phton3 -m pydoc -h 以python脚本的形式运行pydoc模块,并查看命令参数3)输入phton3 -m pydoc -w modName 将模块中的注释文档转换为一个html文件...原创 2019-07-16 10:18:49 · 949 阅读 · 0 评论 -
python的一些内置的异常类
表8-1 一些内置的异常类类 名描 述Exception几乎所有的异常类都是从它派生而来的AttributeError引用属性或给它赋值失败时引发OSError操作系统不能执行指定的任务(如打开文件)时引发,有多个子类IndexError使用序列中不存在的索引时引发,为LookupError的子类KeyEr...原创 2019-07-16 10:17:31 · 193 阅读 · 0 评论 -
Python对文件进行操作
方法描述seek()将当前读写位置移动到指定位置tell()返回当前读写位置readline()读取一行并返回它readlines()读取所有行writelines()写入一个序列,但没有换行符,需自己添加close()关闭文件fileinput()实现延迟迭代值描 述‘r’读取模式(默认值)...原创 2019-07-16 10:11:04 · 179 阅读 · 0 评论 -
Python迭代器和生成器
1.列表元素可以用某种算法推算出来,一边循环一边计算,不用直接创建完整的list,从而节省空间,称之为生成器。列表生成式可以通过将方括号换成圆括号变成生成器生成式2.生成器是迭代器的一种,使用yield返回值函数,每次调用yield会暂停,可以使用next()函数和send()函数恢复生成器;send()函数不光会唤醒生成器还会往生成器中发送消息,传递的参数就会作为yield表达式的值。sen...原创 2019-07-16 10:02:42 · 77 阅读 · 0 评论 -
Python垃圾回收机制
python内存管理机制:引用计数器,垃圾回收机制引用计数器:一个对象引用数为0时将会释放内存,但它无法检测到对象的循环引用(对象间属性互相调用),从而造成的内存泄漏垃圾回收机制:解决循环引用问题,收集所有容器对象(只有容器对象才会被循环引用),然后找到容器对象引用的另一个容器对象,将另一个容器对象的引用数-1,如果其引用数为0,那么这个容器对象就会被引用计数器回收。为了解决效率问题,垃圾回...原创 2019-08-27 18:24:26 · 168 阅读 · 0 评论