本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下:1.字典(dict)dict 用 {} 包围 dict.keys(),dict.values(),dict.items() hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key del 或 dict.pop可以删除一个item,clear清除所有的内容 sorted(dict)可以把dict排序 dict.get()可以查找没存在的key,dict.[]不可以 dict.setdefault() 检查字典中是否含有某键。 如果字...
一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了。一、装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理。1、不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打...
本文实例讲述了Python编程中属性和方法使用技巧。分享给大家供大家参考。具体分析如下:一、属性在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用。公有属性可以是任意变量,私有属性是以双下划线开头的变量。下面我们定义一个People类,它有一个公有属性name,和一个私有属性__age。 class People(): def __init(self): self.name=‘张珊‘ self.__age=24我们创建一个People类的实...
1#!/usr/bin/env python 2# -*- coding:utf-8 -*- 3#Author:sking 4#Python3文件操作详解 Python3文件操作大全 5 6""" 7test_file.txt8文件内容如下:9打印字符串第一个字符10 11打印字符串第二个字符12""" 13#打开文件test_file.txt 14 f = open(‘test_file.txt‘, ‘r+‘) #f是文件的文件句柄,它是在内存中的,是内存中的一个对象 15 data = f.read()16print(data)17""" 18data结果:19打印字符串第一个字符20 21打印字...
# -*- coding: utf-8 -*- #mysqldb # site www.jbxue.com import time, MySQLdb #连接 conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8") cursor = conn.cursor() #写入 sql = "insert into user(name,created) values(%s,%s)" param = ("aaa",int(time.time())) n = cursor.execute(sql,param) print n #更新 sql = "update user set name=%s where id=3...
最近开始学习python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下:1、scatter函数原型 2、其中散点的形状参数marker如下: 3、其中颜色参数c如下: 4、基本的使用方法如下:#导入必要的模块import numpy as np import matplotlib.pyplot as plt #产生测试数据 x = np.arange(1,10) y = x fig = plt.figure() ax1 = fig.add_subplot(111) #设置标题 ax1.set_title(‘Scatter Plot‘) #设置X轴标签...
更多强大的功能到目前为止,我们只是介绍了正则表达式的一部分功能。在这一篇中,我们会学习到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本。更多元字符还有一些元字符我们没有讲到,接下来小甲鱼一一为大家讲解。有些元字符它们不匹配任何字符,只是简单地表示成功或失败,因此这些字符也称之为零宽断言。例如 \b 表示当前位置位于一个单词的边界,但 \b 并不能改变位置。因此,零宽断言不应该被重复使用,因为...
1.动态添加属性class Lang(object):def__init__(self,name,score):self.name=nameself.score=scoredef langinfo(self):print‘%s:%s‘%(self.name,self.score) lang1=Lang(‘Python‘,‘8.5‘) lang1.rank=4 print lang1.rank运行结果:2.动态添加方法from types import MethodType class Lang(object):def__init__(self,name,score):self.name=nameself.score=scoredef langinfo(self):print‘%s:%s‘%(self.name,self.score) lan...
一、什么是正则表达式?正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。 二、正则表达式的基本语法。1.备选字符集 语法:[可选字符列表] 强调:1. 无论备选字符集包含多少字符,只能选1个 ...
encode是编码,里面传入的参数是需要转成的字符集,decode是解码,里面传入的参数是本身的字符集,用本身的字符集解码为unicode字符集再转码字符集之间的爱恨纠缠 1# -*- coding: utf-8 -*- 2‘‘‘ 3 Python3 默认编码为unicode4‘‘‘ 5#输出默认编码 6import sys7print(sys.getdefaultencoding())8 9#文件编码为utf-810 s = ‘你好‘11#把s转换为gbk编码12 s_to_gbk = s.encode("gbk") 13print(s_to_gbk) 14#输出结果为bytes类型...
本文实例讲述了python中尾递归用法。分享给大家供大家参考。具体分析如下:如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码。原理:当编译器检测到一个函数调用...
本文实例讲述了python实现逆波兰计算表达式的方法。分享给大家供大家参考。具体分析如下:逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。 # -*- coding: utf-8 -*- symbol_priority = {} symbol_priority[0] = [‘...
字典dictionary1.键值对的集合(map)2.字典是以大括号“{}”包围的数据集合3.字典是无序的,在字典中通过键来访问成员。 可变的,可嵌套,可以原处修改扩展等,不产生新的字典4.字典的键,可以是字符串(大小写敏感),数字常量或元组(不可变类型),同一个字典的键可以混用类型。字典的键必须是可哈希的元组作为键的条件是,元组内的值都是不可变类型复制代码 代码如下:a = (1,2) #可以作为键b = (1,2,[3,4]) #不可以5.字典的值可...
工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实体化哪一个类。 在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置上,它知道每一个产品类的细节,并决定何时哪...
观察者模式 观察者模式:又叫发布订阅模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时,会通知所有观察者对象,是他们能自动更新自己。 代码结构class Topic(object):"""主题类。保存所有观察者实例的引用,每个主题都可以有很多观察者可以增加和删除观察者"""def __init__(self):self.obs = []def Attach(self, ob):self.obs.append(ob)def Detach(self, ob):self.obs....