示例一:
# coding=utf-8
class Car(object):
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + '' + self.make + '' + self.model
return long_name.title()
def read_odometer(self):
print ("This car has" + str(self.odometer_reading))
def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print ("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles
class ElectricCar(Car):
"""电动车的独特之处"""
def __init__(self, make, model, year):
super(ElectricCar, self).__init__(make, model, year)
my_car = ElectricCar("tesla", "model s", 2016)
print my_car.get_descriptive_name()
示例二:
创建100个线程
# coding=utf-8
import threading
class MyThread(threading.Thread):
def __init__(self, name=None):
threading.Thread.__init__(self)
# super(MyThread, self).__init__()
self.name = name
def run(self):
print self.name
def test():
for i in range(0, 100):
t = MyThread("thread_" + str(i))
t.start()
if __name__ == '__main__':
test()
继承方式的第一种
def __init__(self, name=None):
threading.Thread.__init__(self)
self.name = name
继承方式的第二种,通过super关键字
def __init__(self, name=None):
super(MyThread, self).__init__()
self.name = name
示例三:多线程的学习
# coding=utf-8
from selenium import webdriver
import sys
from time import sleep
from threading import Thread
reload(sys)
sys.setdefaultencoding("utf-8")
def test_baidu_search(browser, url):
driver = None
if browser == "chrome":
driver = webdriver.Chrome()
elif browser == "ie":
driver = webdriver.Ie()
elif driver == "firefox":
driver = webdriver.Firefox()
if driver == None:
exit()
driver.get(url)
sleep(3)
driver.find_element_by_id("kw").send_keys("selenium")
sleep(3)
driver.find_element_by_id("su").click()
driver.quit()
if __name__ == '__main__':
data = {
"chrome": "https://www.baidu.com",
"firefox": "https://www.baidu.com",
"ie": "https://www.baidu.com",
}
threads = []
for b, url in data.items():
"""target是Thread对象中run调用的对象
args 是目标调用的参数元组
"""
t = Thread(target=test_baidu_search, args=(b, url))
threads.append(t)
for thr in threads:
thr.start()