python快速入门5之模块和包以及面向对象

1.模块和包

import mypy02
print(mypy02.add1(1,2))
#sys Python标准库模块,和python解释器相关
import sys,os.path as op  #同时导入多个模块
for line in sys.path:
    print(line)
    print(os.path.exists('d:/aaa.txt'))
    print(op.exists('d:/aaa.txt'))
from os.path import  exists   #从os.path导入exists
print(exists('d:/aaa.txt'))
#locals()查看作用域下局部变量
print(globals())#查看当前作用于下全局变量
#_name_当前模块的名字
def add(x,y):
    return x+y
if _name_ =='_main_':
   print(add(1,2))

2.面向对象

#封装:让调用者不必知道实现者实现类的细节,只要知道类怎么用就行
#创建类
class Test:
    """
    测试类
    """
    pass
#创建对象
t=Test()
#属性
# 成员函数
class Test2:
    #静态属性(类属性)
    x=10
    """
       方法
       """
    def _init_(self,num):#(相当于构造函数)
        """
       通常把一个类的属性写在_init_()中
        """
        self.x = num;
    def Print(self):
        #实例属性必须在实例方法中
        print('hehe',self.x)
        #静态方法
    @staticmethod
    def StaticPrint():
        print("hehe")
        StaticPrint=staticmethod( StaticPrint)
    #也可用装饰器
    @staticmethod
    def StaticPrint():
        print("hehe")
    #静态方法无法访问静态属性
    #可通过该类方法进行调用
    @classmethod
    def ClassPrint(self):
        print("hehe",cls.val)


#创建对象
t1=Test2(10)
t1.Print()
#静态属性直接写类中,通过类调用
#属性的访问权限
class Student:
    pass
#组合
class Test3:
    def __init__(self):#私有方法用双下划线
        self.x=10
        self.student=[Student(),Student()]
class cat:     #继承
    def init(self):
         self.name=""
         self.type="猫"
    def Speak(self):
        print("喵")
class AShortCat(cat):  #继承类子类出现的和父类同名函数,就会相互覆盖
    def _init_(self):
        print("miao")
cat=AShortCat()
cat.type
#多态
#python中的多态与继承没有直接关系
#多态本质是封装的更进一步
#封装指的是调用者不必知道使用类的内部细节

def add(x,y):
    return x+y;
print(add(10,20))
print("hello","world")
print(add([10,20,30],[40,50,60]))



class Test:
    val=10
print(getattr(Test,'val'))#获取
print(delattr(Test,'val'))#删除
print(setattr(Test,'val'))#设置
print(dir(Test))#获取类中属性

class Time(object):
  def __init__(self, h, m):
     self.hour = h
     self.minute = m
  def __str__(self):
   return '[%02d:%02d]' % (self.hour, self.minute) #格式化字符串
  def __len__(self):
      print(len(self))
t = Time(13, 5)
print(t)
发布了129 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/beststudent_/article/details/100058779
今日推荐