美文网首页
Python_15_Codecademy_15_Introduc

Python_15_Codecademy_15_Introduc

作者: 张一闻 | 来源:发表于2016-04-24 20:50 被阅读51次

<a href="http://www.jianshu.com/p/54870e9541fc">总目录</a>


课程页面:https://www.codecademy.com/
内容包含课程笔记和自己的扩展折腾


Class and class syntax

Python is an object-oriented programming language, which means it manipulates programming constructs called objects. You can think of an object as a single data structure that contains data as well as functions; functions of objects are called methods.

A class is just a way of organizing and producing objects with similar attributes and methods.

一个class的例子(source: codecademy.com)

class Fruit(object):
    """A class that makes various tasty fruits."""
    def __init__(self, name, color, flavor, poisonous):
        self.name = name
        self.color = color
        self.flavor = flavor
        self.poisonous = poisonous

    def description(self):
        print "I'm a %s %s and I taste %s." % (self.color, self.name, self.flavor)

    def is_edible(self):
        if not self.poisonous:
            print "Yep! I'm edible."
        else:
            print "Don't eat me! I am super poisonous."

lemon = Fruit("lemon", "yellow", "sour", False)

lemon.description()
lemon.is_edible()

Output:
I'm a yellow lemon and I taste sour.
Yep! I'm edible.

Class Syntax:

By convention, user-defined Python class names start with a capital letter.

class Class_Name(object):
    def __init__(self)
        pass #pass is only a placeholder 

Instantiation

【例1】

class Square(object):
    def __init__(self):
        self.sides = 4

my_shape = Square()
print my_shape.sides

Output:
4

【例2】

class Animal(object):
    def __init__(self, name):
        self.name = name

zebra = Animal("zebra")
print  zebra.name

Output:
zebra

【例3】

class Province(object):
    def __init__(self, name, capital, is_baoyouqu):
        self.name = name
        self.capital = capital
        self.is_baoyouqu = is_baoyouqu

Shanghai_M = Province("Shanghai Municipality", "Shanghai", True)
Heilongjiang = Province("Heilongjiang", "Harbin", False)
Zhejiang = Province("Zhejiang", "Hangzhou", True)

print Shanghai_M.name, Shanghai_M.capital, Shanghai_M.is_baoyouqu
print Heilongjiang.name, Heilongjiang.capital, Heilongjiang.is_baoyouqu
print Zhejiang.name, Zhejiang.capital, Zhejiang.is_baoyouqu

Output:
Shanghai Municipality Shanghai True
Heilongjiang Harbin False
Zhejiang Hangzhou True

Add methods

class Province(object):
    def __init__(self, name, capital, is_baoyouqu):
        self.name = name
        self.capital = capital
        self.is_baoyouqu = is_baoyouqu
    def print_capital(self):
        print "%s's capital is %s." % (self.name, self.capital)

Heilongjiang = Province("Heilongjiang", "Harbin", False)
Heilongjiang.print_capital()

Output:
Heilongjiang's capital is Harbin.

class ShoppingCart(object):

写一个ShoppingCart的class,让用户可以添加和删除购物车中的物品。

class ShoppingCart(object):
    items_in_cart = {}

    def __init__(self, customer_name):
        self.customer_name = customer_name

    def add_item(self, product, price):
        if product not in self.items_in_cart:
            self.items_in_cart[product] = price
            print "%s added" % product
        else:
            print "%s is already in the cart" % product

    def remove_item(self, product):
        if product in self.items_in_cart:
            del self.items_in_cart[product]
            print "%s removed" % product
        else:
            print "%s is not in the cart" % product

my_cart = ShoppingCart("Xiaoming")
my_cart.add_item("apple", 8)

Output:
apple added

Inheritance

相关文章

网友评论

      本文标题:Python_15_Codecademy_15_Introduc

      本文链接:https://www.haomeiwen.com/subject/btmfrttx.html