- 博客(72)
- 收藏
- 关注
原创 set、list、tuple
set是集合类型set、list、tuple之间可以相互转换使用set,可以快速的完成对list中的元素去重复的功能
2018-11-28 14:25:36
264
原创 列表推导式
所谓的列表推导式,就是指的轻量级循环创建列表基本的方式在循环的过程中使用if2个for循环3个for循环练习请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,…100]变成 [[1,2,3],[4,5,6]…]参考答案:a = [x for x in range(1,101)]b = [a[x:x+3] for x ...
2018-11-28 14:23:46
1556
1
原创 应用:老王开枪
应用:老王开枪人类属性姓名血量持有的枪方法安子弹安弹夹拿枪(持有抢)开枪子弹类属性杀伤力方法伤害敌人(让敌人掉血)弹夹类属性容量(子弹存储的最大值)当前保存的子弹方法保存子弹(安装子弹的时候)弹出子弹(开枪的时候)枪类属性弹夹(默认没有弹夹,需要安装)方法连接弹夹(保存弹夹)射子弹参考代码class Person(obj...
2018-11-28 14:22:39
421
原创 模块发布,安装、使用
模块发布1.mymodule目录结构体如下:.├── setup.py├── suba│ ├── aa.py│ ├── bb.py│ └── init.py└── subb├── cc.py├── dd.py└── init.py2.编辑setup.py文件py_modules需指明所需包含的py文件from distutils.core import se...
2018-11-28 14:21:07
281
原创 python中的包
引入包1.1 有2个模块功能有些联系1.2 所以将其放到同一个文件夹下1.3 使用import 文件.模块 的方式导入1.4 使用from 文件夹 import 模块 的方式导入1.5 在msg文件夹下创建__init__.py文件1.6 在__init__.py文件中写入1.7 重新使用from 文件夹 import 模块 的方式导入总结:包将有联系的模块组织...
2018-11-28 14:20:13
443
原创 模块中的__all__
没有__all__模块中有__all__总结如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,不会被from xxx import *时导入
2018-11-28 14:16:41
266
原创 模块制作
<1>定义自己的模块在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。比如有这样一个文件test.py,在test.py中定义了函数addtest.pydef add(a,b): return a+b<2>调用自己定义的模块那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然...
2018-11-28 14:15:22
234
原创 模块
<1>Python中的模块有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些其他的函数,该怎么处理呢?在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中...
2018-11-28 14:13:52
240
原创 抛出自定义的异常,异常处理中抛出异常
你可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类下面是一个引发异常的例子:class ShortInputException(Exception):‘’‘自定义的异常类’’’def init(self, length, atleast):#super().init()self.length = lengthself....
2018-11-28 14:13:02
1826
原创 异常的传递
try嵌套中import timetry:f = open(‘test.txt’)try:while True:content = f.readline()if len(content) == 0:breaktime.sleep(2)print(content)finally:f.close()print(‘关闭文件’)except:print(“没有这个文件”)...
2018-11-27 14:20:18
562
原创 异常,案例剖析
<1>异常简介看如下示例:print '-----test--1---'open('123.txt','r')print '-----test--2---'运行结果:说明:打开一个不存在的文件123.txt,当找不到123.txt 文件时,就会抛出给我们一个IOError类型的错误,No such file or directory:123.txt (没有123.tx...
2018-11-27 14:19:38
313
原创 单例模式
单例是什么举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。因此回收站是单例模式的应用。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象创建型模式。创建单例-保证只有1个对象实例化一个单例class Singleton...
2018-11-27 14:17:02
1459
原创 __new__方法
__new__和__init__的作用class A(object):def init(self):print(“这是 init 方法”)def __new__(cls): print("这是 new 方法") return object.__new__(cls)A()总结__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自...
2018-11-27 14:16:14
354
原创 工厂模式
简单工厂模式在上一节中,最后留下的个问题,该怎样解决呢?1.1.使用函数实现#定义伊兰特车类class YilanteCar(object):# 定义车的方法def move(self):print("—车在移动—")def stop(self):print("—停车—")#定义索纳塔车类class SuonataCar(object):# 定义车的方法def mov...
2018-11-27 14:15:32
304
原创 练习:设计类
设计一个卖车的4S店,该怎样做呢?#定义车类class Car(object):# 定义车的方法def move(self):print("—车在移动—")def stop(self):print("—停车—")#定义一个销售车的店类class CarStore(object):def order(self):car = Car() #找一辆车return car#1...
2018-11-27 14:14:38
195
原创 类属性、实例属性,静态方法和类方法
类属性、实例属性在了解了类基本的东西之后,下面看一下python中这几个概念的区别先来谈一下类属性和实例属性在前面的例子中我们接触到的就是实例属性(对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似。对于公有的类属性,在类外可以通过类对象和实例对象访问类属性class People(objec...
2018-11-27 14:13:55
805
原创 多继承,多态
. 多继承从图中能够看出,所谓多继承,即子类有多个父类,并且具有它们的特征Python中多继承的格式如下:#定义一个父类class A:def printA(self):print(’----A----’)#定义一个父类class B:def printB(self):print(’----B----’)#定义一个子类,继承自A、Bclass C(A,B):def pr...
2018-11-27 14:11:44
351
原创 私有方法、属性,继承问题
class Animal(object):def init(self):self.num1 = 1self.__num2 = 2def __run(self): print("----跑---")def eat(self): print("-----吃-----")def drink(self): print("-----喝-----")def test...
2018-11-27 14:09:59
315
原创 重写父类方法,重写父类方法与调用父类方法
class Animal:def eat(self):print("-----吃-----")def drink(self): print("-----喝-----")class Dog(Animal):def bark(self):print("-----汪汪叫------")class XTQ(Dog):“”“定义了一个哮天犬 类”"
2018-11-27 14:09:15
1510
原创 在子类中添加新功能,多层继承
class Animal:def eat(self):print("-----吃-----")def drink(self): print("-----喝-----")class Dog(Animal):def bark(self):print("-----汪汪叫------")class Cat(Animal):def catch(self):print("----捉...
2018-11-26 17:17:08
347
原创 继承介绍以及单继承
继承的概念在现实生活中,继承一般指的是子女继承父辈的财产,如下图搞不好,结果如下…在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承足够,如下如所示:继承示例#定义一个父类,如下:class Cat(object):def init(self, name, color...
2018-11-26 17:16:12
227
原创 __del__()方法
创建对象后,python解释器默认调用__init__()方法;当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法import timeclass Animal(object):# 初始化方法# 创建完对象后会自动被调用def __init__(self, name): print('__init__方法被调用') self.__...
2018-11-26 17:14:25
462
原创 私有属性,私有方法
如果有一个对象,当需要对其进行修改属性时,有2种方法对象名.属性名 = 数据 ---->直接修改对象名.方法名() ---->间接修改为了更好的保存属性安全,即不能随意修改,一般的处理方式为将属性定义为私有属性添加一个可以调用的方法,供调用class People(object):def __init__(self, name): self.__name = na...
2018-11-26 17:13:18
674
原创 self,__init__()方法,__str__()方法
使用self替换方法中的对象名class Cat:# 方法def eat(self):print(“猫在吃鱼…”)def drink(self): print("猫在喝可乐...")def introduce(self): # print("名字是:%s, 年龄是:%d" % (汤姆的名字, 汤姆的年龄)) # print("名字是:%s, 年龄是:%d" %...
2018-11-26 17:10:43
686
原创 创建多个对象
class Cat:# 属性# 方法def eat(self):print(“猫在吃鱼…”)def drink(self): print("猫在喝可乐...")def introduce(self): # print("名字是:%s, 年龄是:%d" % (汤姆的名字, 汤姆的年龄)) print("名字是:%s, 年龄是:%d" % (tom.name, t...
2018-11-26 17:08:14
329
原创 通过方法获取对象属性
class Cat:# 属性# 方法def eat(self):print(“猫在吃鱼…”)def drink(self): print("猫在喝可乐...")def introduce(self): # print("名字是:%s, 年龄是:%d" % (汤姆的名字, 汤姆的年龄)) print("名字是:%s, 年龄是:%d" % (tom.name, t...
2018-11-26 17:07:48
184
原创 调用对象的方法,给对象添加属性,获取对象的属性
class Cat:# 属性# 方法def eat(self):print(“猫在吃鱼…”)def drink(self): print("猫在喝可乐...")#创建了一个对象tom = Cat()tom.eat() # 调用对象的eat方法tom.drink()刚开始学习面向对象时,可以把 “方法” 理解为之前的函数,后面的学习中会讲到他们的区别给对象添加属性c...
2018-11-26 17:06:57
1877
1
原创 定义类,创建对象
定义一个类,格式如下:class 类名:方法列表demo:定义一个Cat类#定义类class Cat:# 方法def eat(self):print(“猫在吃鱼…”)def drink(self): print("猫在喝可乐...")说明:定义类时有2种:新式类和经典类,上面的Cat为经典类,如果是Cat(object)则为新式类类名 的命名规则按照"大驼峰"创...
2018-11-26 17:05:02
786
原创 面向对象编程介绍,类和对象
想一想请用程序描述如下事情:A同学报道登记信息B同学报道登记信息C同学报道登记信息A同学做自我介绍B同学做自我介绍C同学做自我介绍stu_a = {“name”:“A”,“age”:21,“gender”:1,“hometown”:“河北”}stu_b = {“name”:“B”,“age”:22,“gender”:0,“hometown”:“山东”}stu...
2018-11-26 17:03:23
631
原创 应用:批量修改文件名,学生管理系统(文件版)
<1>运行过程演示运行程序之前运行程序之后<2>参考代码 #coding=utf-8# 批量在文件名前加前缀import osfunFlag = 1 # 1表示添加标志 2表示删除标志folderName = './renameDir/'# 获取指定路径的所有文件名字dirList = os.listdir(folderName)# ...
2018-11-24 14:18:07
301
原创 文件的定位读写,文件的相关操作
什么是定位?<1>获取当前读写的位置在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取# 打开一个已经存在的文件f = open("test.txt", "r")str = f.read(3)print "读取的数据是 : ", str# 查找当前位置position = f.tell()print "当前文件位置 : ", position...
2018-11-24 14:16:15
1734
原创 应用1:制作文件的备份
任务描述输入文件的名字,然后程序自动完成对文件进行备份参考代码#提示输入文件oldFileName = input(“请输入要拷贝的文件名字:”)#以读的方式打开文件oldFile = open(oldFileName,‘rb’)#提取文件的后缀fileFlagNum = oldFileName.rfind(’.’)if fileFlagNum > 0:fileFla...
2018-11-24 14:14:22
567
原创 文件的读写
文件的读写<1>写数据(write)使用write()可以完成向文件写入数据demo:f = open(‘test.txt’, ‘w’)f.write(‘hello world, i am here!’)f.close()运行现象:注意:如果文件不存在那么创建,如果存在那么就先清空,然后写入数据<2>读数据(read)使用read(num)可以从文件...
2018-11-24 14:13:20
388
原创 文件操作介绍,文件的打开与关闭
&lt;1&gt;什么是文件示例如下:文件格式&lt;2&gt;文件的作用大家应该听说过一句话:“好记性不如烂笔头”。不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电脑之后,“哭都没地方哭了”可见,在把数据存储起来有做么大的价值使用文件的目的:就是把一些存储存放起来,可以让程序下一次执行...
2018-11-22 14:15:39
1644
原创 递归函数,匿名函数使用注意事项
<1>什么是递归函数通过前面的学习知道一个函数可以调用其他函数。如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。<2>递归函数的作用举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * … * n解决办法1:看阶乘的规律1! = 12! = 2 × 1 = 2 × 1!3! = 3 × 2 × 1 = 3 × 2!4!...
2018-11-21 14:16:53
500
原创 函数应用:学生管理系统
import timeimport os#定一个列表,用来存储所有的学生信息(每个学生是一个字典)info_list = []def print_menu():print("---------------------------")print(" 学生管理系统 V1.0")print(" 1:添加学生")print(" 2:删除学生")print(" 3:修改学生")...
2018-11-21 14:14:08
499
原创 引用(二)
引用当做实参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?def test1(b): # 变量b一定是一个局部变量,就看它指向的是谁?可变还是不可变b += b # += 是直接对b指向的空间进行修改,而不是让b指向一个新的# b = b+b # xx = xx+yyy 先把=号右边的结果计算出来,然后让b指向这个新的地方...
2018-11-21 14:13:22
148
原创 引用(一)可变、不可变类型
想一想a = 1b = ab1a = 2a2请问此时b的值为多少?a = [1, 2]b = ab[1, 2]a.append(3)a[1, 2, 3]请问此时b的值又是多少?引用在python中,值是靠引用来传递来的。我们可以用id()来判断两个变量是否为同一个值的引用。 我们可以将id值理解为那块内存的地址标示。...
2018-11-21 14:12:51
138
原创 拆包、交换变量的值
<1> 对返回的数据直接拆包def get_my_info():high = 178weight = 100age = 18return high, weight, age#result = get_my_info()#print(result)my_high, my_weight, my_age = get_my_info()print(my_high)print...
2018-11-21 14:11:48
124
原创 函数返回值 函数参数(二)
在python中我们怎样返回多个值?<1> 多个return?def create_nums():print("—1---")return 1 # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数print("—2---")return 2print("—3---")总结1:一个函数中可以有多个return语句,但是只...
2018-11-21 14:10:56
524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人