1. 程式人生 > >Python----類的封裝

Python----類的封裝

重點: 一個物件的屬性可以是另外一個型別建立的物件

士兵的例子

class Gun:
    def __init__(self, model):

        # 1. 槍的型號
        self.model = model

        # 2. 子彈的數量
        self.bullet_count = 0

    def add_bullet(self, count):

        self.bullet_count += count

    def shoot(self):

        # 1. 判斷字彈的數量
        if self.bullet_count <= 0
: print("[%s] 沒有字彈了..." % self.model) return # 2. 發射子彈 self.bullet_count -= 1 # 3. 提示發射資訊 print("[%s] 突突突...子彈有: [%d]" % (self.model, self.bullet_count)) # 建立槍物件 ak47 = Gun('ak47') ak47.add_bullet(30) ak47.shoot() ak47.shoot() class Soldier
:
def __init__(self, name): self.name = name self.gun = None # 私有 def fire(self): # 1. 判斷士兵是否有槍 if self.gun is None: # 身份運算子(is) 可以替換(==) print("[%s] 還沒有槍..." % self.name) return # 2. 口號 print("衝啊... [%s]" % self.name) # 3. 裝子彈
self.gun.add_bullet(30) # 4. 發射子彈 self.gun.shoot() # 建立一個士兵 jack = Soldier("jack") jack.gun = ak47 jack.fire() print(jack.gun)

相關推薦

python-多進程封裝

true tar process 進程 pan imp style while {} 1 #!/usr/bin/python 2 import multiprocessing,time 3 4 class ClockProcess(multiprocessin

Python 封裝,繼承 ,多繼承

__author__ = '12711'#-*- coding:utf-8 -*-# class Animal(object):# name='xxx'# def __init__(self,name,age):# self.name=name# self.ag

Python與物件技巧(1):字串格式化、封裝屬性名、可管理的屬性、呼叫父方法

1. 自定義字串的格式化 _formats = { 'ymd' : '{d.year}-{d.month}-{d.day}', 'mdy' : '{d.month}/{d.day}/{d.year}', 'dmy' : '{d.day}/{d.month}/{d.ye

python封裝、繼承、多型

#案例:小智今天想出去,但不清楚今天的天氣是否適宜出行,需要一個幫他提供建議的程式,程式要求輸入daytime#和night,根據可見度和溫度給出出行建議和使用的交通工具,需要考慮需求變更的可能#需求分析:使用python類的封裝、繼承、多型比較容易實現,由父類封裝檢視可見度和檢視溫度的方法,#子類繼承父類。

python筆記(封裝(含方法和靜態方法))

一、封裝: 1、廣義上面向物件的封裝:程式碼的保護,面向物件的思想本身就是一種封裝 2、只讓自己的物件能呼叫自己類的方法 3、狹義上的封裝 – 面向物件三大特性 4、屬性和方法都藏起來,不讓你看見 class Person: def __init__(self,name,pass

孤荷淩寒自學python第二十三天python封裝

eth 影響 從零開始 初始化 完整 自定義 發現 one 能夠 孤荷淩寒自學python第二十三天python類的封裝 (完整學習過程屏幕記錄視頻地址在文末,手寫筆記在文末) 一、從怎麽樣訪問類的內部代碼塊中定義的私有屬性說起 類中定義的私有屬性和私有方法是無法被外部

【轉】Python基礎-封裝與擴充套件、靜態方法和方法

【轉】Python基礎-封裝與擴充套件、靜態方法和類方法 一、封裝與擴充套件 封裝在於明確區分內外,使得類實現者可以修改封裝內的東西而不影響外部呼叫者的程式碼;而外部使用者只知道一個介面(函式),只要介面(函式)名、引數不變,使用者的程式碼永遠無需改變。這就提供一個良好的合作基礎——或者說,只要介面這個基

把一個封裝到另一個中-Python

一個類的物件作為另一個類的引數 #物件的封裝 ***** #將一個類的物件,封裝到,另一個類中的方法中去 class Teacher: def __init__(self,tea_name,tea_age): self.teacher_name = tea_name

python - 介面自動化測試 - HttpRequest - 介面測試封裝

# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: http_request.py @ide: PyCharm Community Edition @time: 2018-12-20 11:38 @blog: h

Python實現京東登入,封裝

直接執行輸入自己賬戶密碼即可登入,獲取資料 # 引入包 import time import requests from bs4 import BeautifulSoup class JD_crawl: def __init__(self, username, passw

python - 介面自動化測試 - GetLog - 日誌封裝

# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: get_logger.py @ide: PyCharm Community Edition @time: 2018-12-29 14:41 @blog: htt

Python:MySQL資料操作封裝

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: dbSq

Python 封裝

類的封裝和構造可以讓我們更好的組織專案結構。 本章我們來學習類的封裝。 Student類的定義及例項化,每個例項都擁有各自的name和score。現在若需要列印一個學生的成績,可定義函式 print_score() 該函式為類外的函式,如下: cla

Python使用封裝協程接收客戶端資料,卡在接收函式,進不去

這是由於模組名衝突導致的,使用了from socket import *  ,應該用import socket 使用socket.socket去建立套接字等from socket import *  import sysimport geventfrom gevent imp

Python----封裝

重點: 一個物件的屬性可以是另外一個型別建立的物件 士兵的例子 class Gun: def __init__(self, model): # 1. 槍的型號

Python——封裝

mode %s int 對象 一個 div 數量 pan mas 1 class Gun: 2 def __init__(self, model): 3 4 # 1. 槍的型號 5 self.model = m

python 和對象

python 命名 bbb code python 類 num cnblogs clas sel 對象由方法和屬性構成 對象的特征稱為屬性 對象的行為稱為方法 命名對象 class Bian3: def aaa(self,num): sel

數據訪問封裝

拼接 brush 數組 訪問 result false bsp oot sql語句 <?php class Wxk { public $host="localhost"; public $uid="root"; public $pwd="123"; publ

jdbc工具封裝

ram ive while lock ins connect cat stack sys 封裝 package util; import java.sql.Connection; import java.sql.DriverManager; import

python

none view Coding div pan clas splay class col 創建一個類 以 class 開頭 中間類名 以 :號結尾 例如 class Student: pass View Code 創建一個靜態變量 1 #-