from urllib。request  import  urlopen  爬虫

from abc import ABCMeta,abstractmethod
from abc import ABCMeta,abstractmethod

class Payment(metaclass=ABCMeta):   # 模板的功能
    @abstractmethod     # abstractmethod是一个装饰器,装饰器怎么用?放在函数/类的上一行
    def pay(self):pass

    @abstractmethod
    def shouqian(self):pass

class Alipay(Payment):
    def pay(self,money):
        print('使用支付宝支付了%s元'%money)

class Wechatpay(Payment):
    def pay(self,money):
        print('使用微信支付了%s元'%money)

class ApplePay(Payment):
    def pay(self,money):
        print('使用applepay支付了%s元' % money)

def pay(obj,money):
    obj.pay(money)
View Code

 from math import pi  导入  π

# from collections import Iterable
# from collections import Iterator
from collections import Iterable  #
from collections import Iterator

print(isinstance('alex',Iterable))  # True  可迭代对象成立否
print(isinstance('alex',Iterator))  # False    迭代器成立否

print(isinstance('alex',str))  # True  判断类型
View Code

 

# 默认字典,里面参数放字典,列表,匿名函数都可以
from collections import defaultdict 模块那
from collections import defaultdict
# d = defaultdict(list)
# print(d['a'])
# d['b'].append(123)
# print(d)
# d = {}
# d['a']

# func = lambda :'default'
# d = defaultdict(func)
# print(d['kkk'])
# d['k'] = 'vvvvv'
# print(d)
View Code

# 可命名元组
# from collections import namedtuple
# from collections import namedtuple
# birth = namedtuple('Struct_time',['year','month','day'])
# b1 = birth(2018,9,5)
# print(type(b1))
# print(b1.year)
# print(b1.month)
# print(b1.day)
# print(b1)
# 可命名元组非常类似一个只有属性没有方法的类
# ['year','month','day']是对象属性名
# Struct_time是类 的名字
# 这个类最大的特点就是一旦实例化 不能修改属性的值

# class A:
#     pass
# B = A
# a = A()
# b = B()
# print(type(a))
# print(type(b))
View Code

 

# 双端队列
# list的缺点
# 双端队列可以弥补
# 队列
# from collections import deque
# dq = deque()
# dq.append(1)
# dq.append(2)
# dq.appendleft(3)
# print(dq)
# print(dq.pop())
# print(dq.popleft())

# import queue
# q = queue.Queue()  # 队列
# q.put(1)
# q.put(2)
# q.put('aaa')
# q.put([1,2,3])
# q.put({'k':'v'})
# print(q.get())
# print(q.get())
View Code

 

 

from importlib import reload   模块从新加载 ,开发环境的时候或许用得上。
# from importlib import reload
# import time
# import my_module
# print(my_module.name)
# time.sleep(10)   
# reload(my_module)  从新加载一次my_module模块
# print(my_module.name)
View Code

 

 

 posted on 2022-05-12 23:34  编程之路任重道远  阅读(26)  评论(0)    收藏  举报