Python学习笔记--2--面向对象编程
- 面向对象
- 类和装饰器@
-
#coding=gbk class student:
def __init__(self,name,grand):#初始化构造函数,self相当于java中的this,相当于一个student的一个对象
self.name=name
self.grand=grand def introduce(self):
print('hi ! i am '+self.name)
print('my grade is : '+str(self.grand)) def improve(self,amount):
self.grand=self.grand+amount jim=student('jim',)
jim.introduce() jim.improve()
jim.introduce() #python中的装饰器
def add_candles(cake_func): #传入的参数可以是一个函数 cake_func函数
def insert_candles():#在一个大的函数中建立一个小函数去修改值
return cake_func()+"candles"
return insert_candles #返回的是insert的一个对象
@add_candles #装饰器@ 就是在要修改的函数的上方加上:@+修改该函数需要用到的函数
def make_cake():
return 'cake' print(make_cake()) def add_a(b):
def add_b():
return b()+
return add_b
@add_a
def b():
return print(b())GUI对话框
#coding=gbk #图形界面和参数字游戏
#利用tkinter库创建图形界面 from tkinter import * #导入tkinter中所有的东西
import tkinter.simpledialog as dl
import tkinter.messagebox as mb #设置GUI,显示对话框
root=Tk() #tkinter中的一个构造函数 创建一个显示框
w=Label(root,text='Label Title') #创建爱你一个标签 包含窗口和标签标题
w.pack()#标签自带的函数 调整大小 #输入
mb.showinfo('welcome', 'welcome message')
guess=dl.askinteger('number','enter a number' )#提供一个用户输入的对话框,输入一个整型的数,传递给guess #输出
output='this is output message'
mb.showinfo('output', output)猜数字游戏
- 1.GUI form tkinter
- 2.逻辑层
#coding=gbk from tkinter import * #导入tkinter中所有的东西
import tkinter.simpledialog as dl
import tkinter.messagebox as mb #设置GUI,显示对话框
root=Tk() #tkinter中的一个构造函数 创建一个显示框
w=Label(root,text='!猜数字游戏!') #创建爱你一个标签 包含窗口和标签标题
w.pack()#标签自带的函数 调整大小 mb.showinfo('welcome', 'welcome to guess number game')#展示标签信息 number=
while True:
guess=dl.askinteger('number','what is your guess' )#提供一个用户输入的对话框,输入一个整型的数,传递给guess if guess==number:
output='bingo! you guessed it right,but you do not win any prizes~!'
mb.showinfo('output', output)
break
elif guess<number:
output='you guessed it wrong,it is too small'
mb.showinfo('output', output)
else:
output='you guessed it wrong,it is too big'
mb.showinfo('output', output)
print('DONE')
-
- 类和装饰器@
Python学习笔记--2--面向对象编程的更多相关文章
- python 学习笔记7 面向对象编程
一.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." ...
- python学习笔记(七):面向对象编程、类
一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...
- Python学习笔记之面向对象编程(三)Python类的魔术方法
python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...
- python学习笔记1 -- 面向对象编程高级编程1
说起高级其实也就是些基础的东西,但是活用和熟用肯定会大幅度提升代码质量 首先要记录的是面向对象的灵活性,及如何去控制其灵活性,她允许你在实例中新增属性和方法,允许你给类新增属性和方法,也支持在定义类时 ...
- python学习笔记1 -- 面向对象编程类和实例
由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢. 言归正传,python中类的声明是cl ...
- python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件
面向对象编程(OOP)术语: class TestClass(object): val1 = 100 def __init__(self): self.val2 = 200 ...
- javascript 学习笔记之面向对象编程(一):类的实现
~~想是一回事,做是一回事,写出来又是一回事~~一直以来,从事C++更多的是VC++多一些,从面向过程到面向对象的转变,让我对OO的编程思想有些偏爱,将一个客观存在的规律抽象出来总是让人比较兴奋,通过 ...
- python学习笔记_week6_面向对象
面向对象 介绍(特性(class.object--->封装.继承,多态)).--->世界万物,皆可分类:世界万物,皆可对象 只要是对象,就肯定属于某种品类:只要是对象,就肯定有属性 你是上 ...
- python学习笔记(6)--面向对象学习
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引言 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做(人狗大战)的游戏,你就思 ...
- JavaSE学习笔记05面向对象编程01
面向对象编程01 java的核心思想就是OOP 面向过程&面向对象 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理一些较为简单的问题 面向对象思想: 物 ...
随机推荐
- 2017-2018-1 20179215《Linux内核原理与分析》第十周作业
第17章 设备与模块 一.设备类型 除了以上3种典型的设备之外,其实Linux中还有一些其他的设备类型,其中见的较多的应该算是"伪设备".所谓"伪设备",其实 ...
- [BZOJ1797][AHOI2009]最小割Mincut
bzoj luogu sol 一条边出现在最小割集中的必要条件和充分条件. 先跑出任意一个最小割,然后在残余网络上跑出\(scc\). 一条边\((u,v)\)在最小割集中的必要条件:\(bel[u] ...
- 【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
该片文章只是抽取drools中java代码实现的一些代码结构,帮助我们理解drools是如何实现rete算法的. 该部分只是抽取ReteooStatefulSession工作过程中的代码架构 利用了多 ...
- angular的$watch,$digest和$apply
第一部分:$watch $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqu ...
- laravel 多个where的连接使用
在查询的时候需要用到多个where条件来查询 1.直接多个where连接 ->where()->where() 2.把查询条件 放到where数组$where中 然后 ->where ...
- 【转】hurry_liu 大神STM32移植contiki入门之一:系统介绍和开发环境搭建
前言: 由于项目的原因,需要在LPC1788(STM32 cortex-M3)上面跑contiki. 之前没有涉及到contiki,不知其为何物.不过这个不是难事,做IT的,每每遇到新事物,都不会处理 ...
- java代码异常处理
总结:运用throw和throws抛出异常,在哪一种情况下该怎么抛出异常.重要 package com.b; //异常中throwe和throws的用法 public class yz { publi ...
- HDU 1863 畅通工程(Prim,Kruskal,邻接表模板)
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- codeforce -39E-What Has Dirichlet Got to Do with That?(博弈+dfs)
You all know the Dirichlet principle, the point of which is that if n boxes have no less than n + 1 ...
- Java-API:java.text.SimpleDateFormat
ylbtech-Java-API:java.text.SimpleDateFormat 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 0. https://do ...