自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Python面向对象(17)--单例

单例设计模式设计模式:设计模式是前人工作的总结和提炼,通常被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性单例设计模式:目的:让类创建的对象在系统中只有唯一一个实例每一次执行类名()返回的对象,内存地址是相同的单例设计模式的应用场景:音乐播放对象、回收站对象、打印机对象__new__方法使用...

2020-03-26 17:29:10 118

原创 Python面向对象(16)--方法综合案例

需求:设计一个Game类属性:定义一个类属性top_score记录游戏的历史最高分定义一个实例属性player_name记录当前游戏的玩家姓名方法:静态方法show_help显示游戏帮助信息类方法show_top_score显示历史最高分实例方法start_game开始当前玩家的游戏主程序步骤:查看帮助信息查看历史最高分创建游戏对象,开始游戏clas...

2020-03-26 17:10:27 875

原创 Python面向对象(15)--静态方法

在开发时,如果需要在类中封装一个方法,这个方法既不需要访问实例属性或者调用实例方法,也不需要访问类属性或者调用类方法,这个时候 可以把这个方法封装成一个静态方法语法:@staticmethoddef 静态方法名(): pass静态方法需要用修饰器@staticmethod来标识,告诉解释器这是一个静态方法通过类名.调用静态方法class Dog(object): ...

2020-03-26 17:04:16 120

原创 Python面向对象(14)--类方法

类属性就是针对类对象定义的属性,使用赋值语句在class关键字下方可以定义类属性,类属性用于记录与这个类相关的特征类方法就是针对类对象定义的方法,在类方法内部可以直接访问类属性或者调用其他的类方法语法:@classmethoddef 类方法名(cls): pass类方法需要用修饰器@classmethod来标识,告诉解释器这是一个类方法类方法的第一个参数应该是cls由哪一...

2020-03-26 16:57:53 173

原创 Python面向对象(13)--类属性

概念和使用:类属性就是给类对象中定义的属性通常用来记录与这个类相关的特征类属性不会用于记录具体对象的特征示例需求:定义一个工具类每件工具都有自己的name需求:知道使用这个类创建了多少个工具对象class Tool(object): # 使用赋值语句定义类属性 记录所有工具对象的数量 count = 0 def __init__(self, na...

2020-03-26 15:34:34 173

原创 Python面向对象(12)--类的结构

术语–实例使用面向对象开发,第一步是设计类使用类名()创建对象,创建对象的动作有两步:在内存中为对象分配空间调用初始化方法__init__为对象初始化对象创建后,内存中就有了一个对象的实实在在的存在 ,即实例因此通常会把:创建出来的对象叫做类的实例创建对象的动作叫做实例化对象的属性叫做实例属性对象调用的方法叫做实例方法在程序执行时:对象各自拥有自己的实例属性...

2020-03-26 15:19:28 75

原创 Python面向对象(11)--多态

面向对象的三大特性封装:根据职责将属性和方法封装到一个抽象的类中继承:实现代码的重用,相同的代码不需要重复的编写多态:不同的子类对象调用相同的父类方法,产生不同的执行结果多态可以增加代码的灵活度以继承和重写父类方法为前提是调用方法的技巧 不会影响到类的内部设计案例演练:需求:在Dog类中封装方法game,普通狗只是单纯的玩耍定义XiaoTianDog继承自Dog,并且...

2020-03-26 14:52:27 212

原创 Python面向对象(10)--新式类与旧式(经典)类

object是python为所有对象提供的基类,提供有一些内置的属性和方法,可以使用dir函数查看新式类:以object为基类的类,推荐使用经典类:不以object为基类的类,不推荐使用在python3.0中如果没有指定父类,会默认使用object作为基类,在python2.0中不会新式类和经典类在多继承时会影响到方法的搜索顺序为保证编写代码正常运行,如果没有父类建议统一继承自obje...

2020-03-26 13:49:37 84

原创 Python面向对象(9)--MRO方法搜索顺序

python中MRO–方法搜索顺序python中针对类提供了一个内置属性__mro__ 可以查看方法搜索顺序MRO是method resolution order 的缩写,主要用于在多继承时判断方法、属性的调用路径语法格式:print(C.__mro__) 输出结果:(<class'__main__.C'>,<class'__main__.A'>,&l...

2020-03-26 11:12:09 544

原创 Python面向对象(8)--多继承

多继承:子类可以拥有多个父类 并且具有所有父类的属性和方法语法:class 子类名(父类名1, 父类名2, ....): pass案例:class A: def test(self): print("test")class B: def demo(self): print("demo")class C(A, B): ...

2020-03-26 10:16:28 89

原创 Python面向对象(7)--父类的私有属性和私有方法

子类对象不能在自己的方法内部直接访问父类的私有属性和私有方法子类对象可以通过父类的公有方法间接访问到私有属性或私有方法私有属性、方法是对象的隐私 不对外公开 外界以及子类都不能直接访问私有属性、方法通常用于做一些内部的事情class A: def __init__(self): self.num1 = 100 self.__num2 = 200...

2020-03-26 09:38:39 814

原创 Python面向对象(6)--方法的重写

方法的重写:子类拥有父类的方法和属性子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发应用场景:当父类的方法实现不能满足子类需求时 可以对方法进行重写重写父类方法有两种情况:覆盖父类的方法对父类方法进行扩展覆盖父类的方法:如果在开发中,父类的方法实现和子类的方法实现完全不同,就可以使用覆盖的方式 在子类中重新编写父类的方法实现具体的实现方式就是相当...

2020-03-25 14:27:15 545

原创 Python面向对象(5)--单继承

面向对象三大特性:封装: 根据职责将属性和方法封装到一个抽象的类中继承: 实现代码的重用 相同的代码不需要重复的编写多态: 不同的对象调用相同的方法 产生不同的执行结果 增加代码的灵活度继承:子类拥有父类的所有方法和属性继承的语法:class 类名(父类名): pass子类继承父类,可以直接享受父类中已经封装好的方法,不需要再次开发子类中应该根据职责,封装子类特有的属性和...

2020-03-25 11:20:54 87

原创 Python面向对象(4)--私有属性和私有方法

私有属性和私有方法应用场景在实际开发中,对象的某些属性和方法可能只希望在对象的内部使用,而不希望在外部被访问到私有属性 就是对象不希望公开的属性私有方法 就是对象不希望公开的方法定义方式在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法class Women: def __init__(self, name): self...

2020-03-24 17:11:57 153 1

原创 Python面向对象(3)--封装及案例

封装:将属性和方法封装到一个抽象的类中,外界使用类创建对象,然后让对象调用方法,对象方法的细节都被封装在类的内部注:一个对象的属性可以是另一个类创建的对象定义没有初始值的属性:在定义属性时,如果不知道设置什么初始值,可以设置为None,表示什么都没有,可以将None赋值给任何一个变量案例一小明跑步需求:小明体重75.0公斤;小明每次跑步会减肥0.5公斤;小明每次吃东西体重增加1公斤增...

2020-03-24 15:46:08 159

原创 Python面向对象(2)--基础语法

Dir内置函数在标识符/数据后输入一个".",然后按下TAB键,ipython会提示该对象能够调用的方法列表使用内置函数dir传入标识符/数据,可以查看对象内的所有属性及方法提示:__方法名__格式的方法是python提供的内置方法/属性常用的内置方法/属性:序号方法名类型作用1new方法创建对象时,会被自动调用2init方法对象被初始化时,会被...

2020-03-23 17:31:15 60

原创 Python面向对象(1)--基本概念

面向对象相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法在完成某一个需求前,首先确定职责,即要做的事情(方法)根据职责确定不同的对象,在对象内部封装不同的方法(多个)最后完成的代码,就是顺序地让不同的对象调用不同的方法特点:注重对象和职责,不同的对象承担不同的职责更加适合应对复杂的需求变化,是专门应对复杂项目的开发,提供的固定套路需要在面向过程基础上,再学习...

2020-03-18 16:48:28 80

原创 Python基础(17)--函数的递归

递归:函数调用自身的编程技巧称为递归函数内部的代码是相同的,只是针对参数不同,处理的结果不同当参数满足一个条件时,函数不再执行,是递归的出口,否则会出现死循环def sum_number(num): print(num) # 递归的出口,当参数满足某个条件时,不再执行函数 if num == 1: return # 自己调用自己 sum...

2020-03-18 09:28:03 212

原创 Python基础(16)--函数的参数和返回值

如果函数内部处理的数据不确定,就可以将外界的数据以参数的形式传递到函数内部如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值函数的返回值在程序开发中,有时希望一个函数执行结束后告诉调用者结果,以便调用者针对具体结果做后续处理返回值是函数完成工作后,最后给调用者的一个结果在函数中使用return关键字可以返回结果调用函数一方,可以使用变量来接收函数的返回结果元组可以...

2020-03-17 11:31:18 258

原创 Python基础(15)--局部变量和全局变量

局部变量是在函数内部定义的变量,只能在函数内部使用全局变量是在函数外部定义的变量(没有定义在某一个范围内),所有函数内部都可以使用这个变量提示:在其他的开发语言中,大多不推荐使用全局变量,可变范围很大,导致程序不好维护局部变量 局部变量是在函数内部定义的变量,只能在函数内部使用 函数执行结束后,函数内部的局部变量,会被系统回收 不同的函数,可以定义相同的名字的局部变量,但是不会产生影...

2020-03-17 10:45:13 145

原创 Python基础(14)--变量的引用以及可变类型和不可变类型

变量的引用变量和数据都是保存在内存中的在python中函数的参数传递以及返回值都是靠引用传递的在python中 变量和数据是分开储存的 数据保存在内存中的一个位置 变量中保存着数据在内存中的地址 变量中记载数据的地址,就叫做引用 使用id()函数可以查看变量中保存数据所在的内存地址注:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用,变量不再对之前的数据引...

2020-03-17 10:07:34 108

原创 Python基础(13)--名片管理系统小程序

系统需求:1、系统启动,显示名片管理系统欢迎界面,并显示功能菜单*****************************欢迎使用【名片管理系统】1.新建名片2.显示全部3.查询名片0.退出系统*****************************2、用户根据数字选择不同的功能3、根据用户选择的功能,执行不同的操作4、用户名片需要记录用户的姓名、电话、QQ、邮箱5、...

2020-03-16 17:02:18 313

原创 Python基础(12)--小技巧

#! /home/xiyou/anaconda3/bin/python#! shebang符号 通常在系统脚本的第一行开头使用 指明执行这个脚本文件的解释程序shebang 在终端不用敲python cards_main.py 直接./cards_main.py就可以执行文件如果要执行的文件没有执行权限可以chmod +x cards_main.py 为其增加权限...

2020-03-16 16:49:05 65

原创 Python基础(11)--公共方法

内置函数函数描述备注len(item)计算容器中元素的个数del(item)删除变量del有两种方式max(item)返回容器中元素最大值如果是字典,只针对key比较min(item)返回容器中元素最小值如果是字典,只针对key比较cmp(item1,item2)比较两个值,-1小于 / 0相等 / 1大于python3.x取消了...

2020-03-16 16:25:35 83

原创 Python基础(10)--字符串

字符串常用方法string = "hello hello"统计字符串长度print(len(string))统计某一个子字符串出现的次数print(string.count("llo"))某一个子字符串出现的位置print(string.index("llo"))# 如果使用index方法传递的子字符串不存在,程序会报错# print(string.index("abc"...

2020-03-16 15:20:28 118

原创 Python基础(9)--字典

字典是一个无序的数据集合字典用{}定义,使用键值对存储数据,键值对之间用",“分隔键key是索引,值value是数据,键和值之间用”:"分隔,键必须是唯一的,只能使用字符串、数字或元组,值可以取任何数据类型...

2020-03-13 16:59:18 96

原创 Python基础(8)--元组

元组与列表类似,不同之处在于元组的元素不能修改,元组用()定义,索引从0开始注:元组中只包含一个元素时,需要在元素后面添加","info_tuple = ("zhangsan", 18, 1.75)# 定义空元组empty_tuple = ()# 定义只包含一个元素的元组single_tuple = (5,)取值和取索引,取索引就是已经知道数据的内容,希望知道该数据在元组中的索...

2020-03-13 16:19:19 55

原创 Python基础(7)--列表

列表是python中使用最频繁的数据类型,用[]定义,数据之间用","分隔,索引从0开始name_list = ["zhangsan", "lisi", "wangwu"]name1_list = ["zhangsan", "lisi", "wangwu", "wangxaoer"]num_list = [6, 8, 4, 2, 10]列表的相关方法:分类关键字/函数/方...

2020-03-13 15:20:38 71

原创 Python基础(6)--函数

变量的格式化输出:希望输出文字信息的同时,一起输出数据,需要用到格式化操作符(%)包含%的字符串被称为格式化字符串,不同类型的数据需要使用到不同的格式化字符串格式化字符作用%s字符串%d有符号十进制整数,%06d表示输出的整数显示位数为6位,不足的地方使用0补全%f浮点数,%.02f表示小数点后只显示两位%%输出%比较运算符:运算符...

2020-03-13 13:35:53 88

原创 Python基础(5)--循环语句

while循环让执行的代码按照指定的次数重复执行基本语法:初始条件设置 #通常是重复执行的计数器while 条件(判断计数器是否达到目标次数): 条件满足时执行的代码1 条件满足时执行的代码2 ...... 处理条件(计数器+1)注:while循环及其缩进部分是一个完整的代码块案例:i = 1while i <= 5: print("hello") i = ...

2020-03-13 13:16:49 133

原创 Python基础(4)--判断语句if-elif-else

if是用来判断的if格式:if 要判断的条件: 条件成立时要做的事情注:代码的缩进量是一个Tab键,或4个空格,注意不能混用if语句及其缩进部分是一个完整的代码块if判断语句案例:age = int(input("年龄:"))if age >= 18: print("可以进入网吧")比较运算符:运算符描述==判断左右两侧的值是否相等,...

2020-03-13 10:56:16 504

原创 Python基础(3)--变量的输入输出

在python中可以使用input函数从键盘等待用户输入,用户输入的任何内容都被认为是一个字符串语法:字符串变量=input(“提示信息:”)用户输入有时候需要进行类型转换类型转换函数:int(x) 将x转换为一个整数 ; float(x) 将x转换为一个浮点数超市买苹果结账案例price_str = input("请输入苹果的单价:")weight_str = input("请输...

2020-03-12 16:55:52 159

原创 Python基础(2)--变量的类型

在内存中创建一个变量会包括: 变量的名称 ; 变量保存的数据 ; 变量存储数据的类型 ; 变量的地址简单案例: 定义变量保存小明的个人信息name = "小明"age = 18gender = Trueheight = 1.75weight = 75.0print(name)...

2020-03-12 16:44:24 74

原创 Python基础(1)--变量的使用

超市买苹果的案例# 苹果8.5/斤,买7.5斤,计算价格price = 8.5weight = 7.5money = price * weightmoney = money - 5print(money)

2020-03-12 16:30:20 261

原创 Ubuntu 下 Anaconda 配置快捷启动图标

Ubuntu 下 Anaconda 配置快捷启动图标这个和前面配置pycharm快捷图标差不多,大部分都是相同的安装好anaconda在桌面创建文档 anaconda.desktop编辑文档并添加如下代码(Exec和Icon后面是自己的路径)[Desktop Entry]Version=1.0Name=AnacondaType=ApplicationGenericName=A...

2019-08-23 09:57:32 3336

原创 Ubuntu 下 pycharm 配置快捷启动图标

Ubuntu 下 pycharm 配置快捷启动图标安装好pycharm在桌面创建文档 pycharm.desktopcd desktoptouch pycharm.desktop编辑文档并添加如下代码(Icon和Exec后面是自己的路径)[Desktop Entry]Version=1.0Type=ApplicationName=pycharmIcon=/home/x...

2019-08-23 09:54:17 510

原创 sublime改成中文简体

sublime的下载可以参照:1.打开安装好的sublime,选择 Preferences下面的package contorol选项,如果没有这个选项,先在tool下面选择install package contorol,成功后重新打开sublime,就会在preferences下面找到package contorol选项了。2.在弹窗输入install package,选择对应的的命令点击。...

2019-08-21 12:57:34 1491 1

原创 ubuntu安装google浏览器

1.下载deb包32位: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb64位: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb2.安装deb包su...

2019-08-21 11:12:54 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除