zoukankan      html  css  js  c++  java
  • 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',86)
          jim.introduce()
          
          jim.improve(10)
          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()+2
              return add_b
          @add_a
          def b():
              return 1
              
          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=59
          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')
  • 相关阅读:
    使用数据库时注意单引号、双引号和反引号的区别
    Mysql中的事件
    C#使用WindowsMediaPlayer实现视频播放
    Chart控件,鼠标选择区域,可以局部放大缩小
    C#自定义控件在添加引用后不显示在工具箱的解决方法(转)
    C# 中的#if、#elif、#else、#endif等条件编译符号
    若有派生类,则基类中的析构函数要用虚函数
    迭代器失效
    this指针
    VS调试快捷键
  • 原文地址:https://www.cnblogs.com/Kobe10/p/5706613.html
Copyright © 2011-2022 走看看