从容器、可迭代对象谈起所有的容器都是可迭代的(iterable),迭代器提供了一个next方法。iter()返回一个迭代器,通过next()函数可以实现遍历。defis_iterable(param):try:iter(param)returnTrueexceptTypeError:returnFalseparams=[1234,'1234',[1,2,3,4],set([1,2,3,4]),{1:1,2:2,3:3,4:4},(1,2,3,4)]forp
系统 2019-09-27 17:53:09 2193
Python是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了或者某一对象非常复杂了,其中的一些写法会相当相当繁琐,而且我们会经常碰到对象和JSON序列化及反序列化的问题,原生的Python转起来还是很费劲的。可能这么说大家会觉得有点抽象,那么这里举几个例子来感受一下。首先让我们定义一个对象吧,比如颜色。我们常用RGB三个原色来表示颜色,R、G、B分别代表红、绿、蓝三个颜色的数值,范围是0-255,也就
系统 2019-09-27 17:53:07 2193
json.load读取文件(file),解析为json对象(dict类型);json.loads读取字符串(string),解析为json对象;json.dump写文件(file),将json对象写入文件;json.dumps写字符串,将json对象写成string。importjsonimportosjson_obj={'name':'Michael','age':13}print("jsondict:",type(json_obj))#json对象是一
系统 2019-09-27 17:52:39 2193
由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 2193
创建main.py文件并粘贴下面代码点击右键运行Debug'main'后,下方的Debug窗口会出现ImportError:Nomodulenamed'bottle'这样的提示,提示导入bottle包出错所以我们需要先安装这两个包,cmd,输入pipinstallbottle回车后开始安装bottle包Mac权限不够补上sudo#!/usr/bin/python#coding=utf-8frombottleimportdefault_app,get,run
系统 2019-09-27 17:52:23 2193
看python社区大妈组织的内容里边有一篇讲python内存优化的,用到了__slots__。然后查了一下,总结一下。感觉非常有用python类在进行实例化的时候,会有一个__dict__属性,里边有可用的实例属性名和值。声明__slots__后,实例就只会含有__slots__里有的属性名。#coding:utf-8classA(object):x=1def__init__(self):self.y=2a=A()printa.__dict__print(
系统 2019-09-27 17:52:11 2193
个人想到的解决方法有两种,一种是.replace('old','new')第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉.第二种方法是像这样str_1_data='abc'str_2_list=str_1_data.split()str_1=''foriinrange(len(str_2_list)):#这里可以直接用str_1.join(str2_list)str_1+=str_2_list[i]print(st
系统 2019-09-27 17:51:45 2193
基础元素学习一门编程语言的时候,我最先考虑的事情就是如何操作值,值(value)在程序组可以是一个数字1,2,3,4,字符'hello,word'.我们使用变量来保存这些值。又把变量保存的值成为对象,计算机会给变量的对象和变量分配内存空间。python使用的内存分配方式成为引用语义或者对象语义,而像c语言使用的时值语义。接下来具体说明一下这两种语义的区别。值语义:所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。
系统 2019-09-27 17:51:31 2193
python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。脚本如下:#!/usr/bin/python#coding:utf-8importsmtplibfromemail.mime.textimportMIMETextimportsysmail_host='smtp.126.com'mail_user='username'mail_pass='passwd'mail_postfix='126.com
系统 2019-09-27 17:50:36 2193
Python数据类型详解——集合一、定义集合跟列表有点像,也是可以存一堆数据的,不过它有几个独特的特点:1、集合里的元素不可变,即不能再集合里存储列表(list)、字典(dict)。字符串、数字、元组等不可变类型可以存储再集合中。2、天生去重,即在集合里不会出现重复元素,就算你故意写入重复元素,集合也会自动去掉重复的,只保留一个。3、无序,集合中的元素没有先后之分。二、语法1、创建集合a={2,321,'Kwan',1,'小明','Kwan',321}2、
系统 2019-09-27 17:50:08 2193