python基礎學習(一)

一、模塊的導入

import moduleName

模塊重新導入reload( name )

注:避免循環導入(在a中導入b並且直接調用,在b中導入a直接調用相關方法)

二、== 和 is 區別

1、== 對於值相同的兩個變量適用

2、is對於共用地址變量指的是兩個變量指的地址是否相同(引用比較)

三、深拷貝和淺拷貝

概念:

深拷貝:拷貝地址指向的數值,是對對象所有層次的拷貝

淺拷貝:拷貝地址指向的是同一個數值 , 是對對象的頂層拷貝

深拷貝實現:

import copy

a = 100

b = copy.deepcopy(a)

淺拷貝實現:

import copy

a = 200

b = copy.copy(a)

四、property私用屬性使用

對於私有屬性一般通過對象無法訪問所以多采用方法操作:getter 或 setter 例如

class Person:

    def __init__(self):

        self.__name = "xiaohong"

    def getName(self):

        return self.__name

    def setName(self,new):

        self.__name = new

調用:

person = Person()

person.getName()

person.setName(new)

通過使用property可以簡化爲

class Person:

    def __init__(self):

        self.__name = "xiaohong"

    def getName(self):

        return self.__name

    def setName(self,new):

        self.__name = new

    name = property(getName,setName)

調用:

person = Person()

print person.name

person.name = 10

進一步使用python語法糖簡化

class Person:

    def __init__(self):

        self.__name = "xiaohong"

    @property

    def getName(self):

        return self.__name

    @property.setter

    def setName(self,new):

        self.__name = new

    name = property(getName,setName)





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章