Skip to content

Commit 0c5aa65

Browse files
committed
模块,导入自定义模块,python标准库,类编码风格
1 parent 4a24ca0 commit 0c5aa65

File tree

13 files changed

+196
-40
lines changed

13 files changed

+196
-40
lines changed

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
class Restaurant():
2+
"""模拟餐厅营业"""
3+
4+
def __init__(self, restaurant_name, cuisine_type):
5+
"""初始化餐厅的属性"""
6+
self.restaurant_name = restaurant_name
7+
self.cuisine_type = cuisine_type
8+
self.number_served = 0
9+
10+
def describe_restaurant(self):
11+
"""打印餐厅描述信息"""
12+
print(self.restaurant_name.title() + ' ' + self.cuisine_type.title())
13+
14+
def open_restaurant(self):
15+
"""打印餐厅正在营业"""
16+
print(self.restaurant_name.title() + " is opening now!")
17+
18+
def read_restaurant(self):
19+
"""打印有多少人就过餐"""
20+
print(str(self.number_served) + " people had eat in the " + self.restaurant_name.title())
21+
22+
def set_number_served(self, number):
23+
"""设置就餐人数"""
24+
self.number_served = number
25+
26+
def increment_number_served(self, number_served):
27+
"""可能的就餐人数"""
28+
self.number_served += number_served
29+
30+
31+
class IceCreamStand(Restaurant):
32+
"""模拟冰淇淋小店"""
33+
34+
def __init__(self, restaurant_name, cuisine_type):
35+
"""初始化父类属性"""
36+
super().__init__(restaurant_name, cuisine_type)
37+
self.flavors = {'奶油冰淇淋', '草莓冰淇淋', '芒果冰淇淋'}
38+
39+
def describe_iceCream(self):
40+
all_flavor = ''
41+
for flavor in self.flavors:
42+
all_flavor += "'" + flavor + "', "
43+
print("all ice cream " + all_flavor)
44+
45+
46+
iceCream = IceCreamStand('wind', 'ice')
47+
iceCream.describe_restaurant()
48+
iceCream.describe_iceCream()

pymotw_3/random/random_random.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import random
2+
3+
for i in range(5):
4+
print('%04.3f' % random.random(), end=' ')
5+
6+
print()

pymotw_3/random/random_uniform.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import random
2+
3+
for i in range(5):
4+
print('{:04.3f}'.format(random.uniform(1, 100)), end=' ')
5+
6+
print()

python_sample_9.3_inheritance/python_sample_9.3.1/electric_car.py renamed to python_9_chapter_sample/car.py

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
"""一个可用于表示汽车的类"""
2+
3+
14
class Car(object):
25
"""一次模拟汽车的简单尝试"""
36

@@ -31,34 +34,3 @@ def update_odometer(self, mileage):
3134
def increment_odometer(self, miles):
3235
"""将里程表读数增加指定的量"""
3336
self.odometer_reading += miles
34-
35-
def fill_gas_tank(self):
36-
"""要被在子类中重写的方法测试"""
37-
print("父类中的方法!")
38-
39-
40-
class ElectricCar(Car):
41-
"""电动车的独特之处"""
42-
43-
def __init__(self, make, model, year):
44-
"""初始化父类的属性,再初始化电动车特有的属性"""
45-
super().__init__(make, model, year)
46-
self.battery_size = 70
47-
# super(ElectricCar, self).__init__(make, model, year) python 2.7必须这样添加实参
48-
49-
def describe_battery(self):
50-
"""打印一条描述电瓶容量的消息"""
51-
print("This car has a " + str(self.battery_size) + "-kWh battery.")
52-
53-
def fill_gas_tank(self):
54-
"""电动车没有油箱"""
55-
print("This car does't need a gas tank!")
56-
57-
58-
car = Car('hona', 'jeck', 2011)
59-
print(car.get_descriptive_name())
60-
car.fill_gas_tank()
61-
my_tesla = ElectricCar('tesla', 'model s', 2016)
62-
print(my_tesla.get_descriptive_name())
63-
my_tesla.describe_battery()
64-
my_tesla.fill_gas_tank()
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
"""一组可用于表示电动汽车的类"""
2+
3+
from python_9_chapter_sample.car import Car
4+
5+
6+
class Battery(object):
7+
"""一次模拟电动汽车电瓶的简单尝试"""
8+
9+
def __init__(self, battery_size=70):
10+
"""初始化电瓶的属性"""
11+
self.battery_size = battery_size
12+
13+
def describe_battery(self):
14+
"""打印一条描述电瓶容量的消息"""
15+
print("This car has a " + str(self.battery_size) + "-kWh battery.")
16+
17+
def get_range(self):
18+
"""打印一条消息,指出电瓶的续航里程"""
19+
if self.battery_size == 70:
20+
range = 240
21+
elif self.battery_size == 85:
22+
range = 270
23+
24+
message = "This car can go approximately " + str(range)
25+
message += " miles on a full charge."
26+
print(message)
27+
28+
29+
class ElectricCar(Car):
30+
"""电动车的独特之处"""
31+
32+
def __init__(self, make, model, year):
33+
"""初始化父类的属性,再初始化电动车特有的属性"""
34+
super().__init__(make, model, year)
35+
self.battery = Battery()
36+
# self.battery_size = 70
37+
# super(ElectricCar, self).__init__(make, model, year) python 2.7必须这样添加实参
38+
39+
def fill_gas_tank(self):
40+
"""电动车没有油箱"""
41+
print("This car does't need a gas tank!")
42+
43+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from collections import OrderedDict
2+
3+
favorite_languages = OrderedDict()
4+
5+
favorite_languages['jen'] = 'python'
6+
favorite_languages['sarah'] = 'c'
7+
favorite_languages['edward'] = 'ruby'
8+
favorite_languages['phil'] = 'python'
9+
10+
for name, language in favorite_languages.items():
11+
print(name.title() + "'s favorite language is " + language.title() + ".")
12+

python_9_chapter_sample/my_car.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from python_9_chapter_sample.car import Car
2+
3+
my_new_car = Car('audi', 'a4', 2016)
4+
print(my_new_car.get_descriptive_name())

python_9_chapter_sample/my_cars.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# from python_9_chapter_sample.car import Car, ElectricCar
2+
import python_9_chapter_sample.car as car
3+
4+
my_beetle = car.Car('volkswagen', 'beetle', 2016)
5+
print(my_beetle.get_descriptive_name())
6+
7+
my_tesla = car.ElectricCar('tesla', 'roadster', 2019)
8+
print(my_tesla.get_descriptive_name())
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from python_9_chapter_sample.electric_car import ElectricCar
2+
3+
my_tesla = ElectricCar('tesla', 'model s', 2016)
4+
5+
print(my_tesla.get_descriptive_name())
6+
my_tesla.battery.describe_battery()
7+
my_tesla.battery.get_range()

0 commit comments

Comments
 (0)