python

python os 、内置函数、类

2019-08-13  本文已影响0人  精神病患者link常

os 模块提供了非常丰富的方法用来处理文件和目录


getcwdu = os.getcwdu()
print '当前工作的路径=', getcwdu

listdir = os.listdir('/Users/imac/Desktop/')
print '返回给定路径下的文件名及文件名 [类型为数组]', listdir

# os.mkdir('/Users/imac/Desktop/abc') # 创建文件夹

#os.unlink('/Users/imac/Desktop/abc') # 删除文件夹

isfile = os.path.isfile('/Users/imac/Desktop/abc')
print '给定的路径是否是一个文件', isfile

isdir = os.path.isdir('/Users/imac/Desktop/abc')
print '给定的路径是否是一个文件夹', isdir

exists = os.path.exists('/Users/imac/Desktop/abc')
print '给定的路径是否存在', exists

getsize = os.path.getsize('/Users/imac/Desktop/foo.txt')
print '给定的路径的文件大小', getsize # 字节

splitext = os.path.splitext('/Users/imac/Desktop/foo.txt')
# 第一个元素为路径(/Users/imac/Desktop/foo),第二个元素为扩展名(.txt)
print '分离给定的路径的文件名和扩展名 [类型为数组]', splitext 

内置函数


a = -100
print '绝对值=',abs(a)

# @staticmethod 标记一个函数为静态函数,可以不用实例化类调用。  C.test()   也可以  C().test()

'''
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
    type() 不会认为子类是一种父类类型,不考虑继承关系。
    isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
'''

b = 12
c = isinstance(b, int)
print 'c是否是 int', c

d = 'string'
e = type(d) == str
print 'd是否是 str', e


class A:
    pass
class B(A):
    pass
print '判断一个类是否是另外一个类的子类',issubclass(B,A)

print '比较数值大小',cmp(80, 100) # 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

print "max(80, 100, 1000) : ", max(80, 100, 1000) # 返回最大值

print "min(80, 100, 1000) : ", min(80, 100, 1000) # 返回最小值

# hasattr(object, name) # 判断object类中是否存在name的属性

# round( x [, n]  ) 方法返回浮点数x的四舍五入值。  x 为值   n 为小数点后几位
print "round(80.23156, 2) : ", round(80.23156, 2) # 判断 1 是否可以 四舍五入

# -*- coding: UTF-8 -*-

# 声明一个类
class Body:

    # 类属性 公开属性,外部可以访问
    myHeight = 172

    # def 声明函数时的标识
    # 构造函数 必传 第一个参数self, 其他参数为构造函数时自定义的参数
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 函数必须有一个额外的第一个参数名称
    # 按照惯例它的名称是 self

    def printMyName(self):
        print '我的名字是=', self.name

    def printMyAge(self):
        print '我的年龄是=', self.age
        self.__printMyNameAndAge()

    # 私有函数,外部不能访问
    def __printMyNameAndAge(self):
        print '我的名字是=', self.name, '我的年龄是=', self.age

# 创建实例对象
my = Body('张三', 20) # 除去第一个参数固定为self,依次传入其他参数

# 访问类方法
my.printMyName()
my.printMyAge()

# 访问类属性
print '类属性=', my.myHeight

my.myHeight = 180
print '修改类属性=', my.myHeight


class Eat:

    # 受保护的属性,仅允许自身和自类访问
    _eatList = ['apple', 'photo']

    def eatWhat(self,what):
        print '我在吃', what

# 类继承 多继承
class MyBody(Body, Eat):

    # 私有变量 __开头  内部调用 self.__myGril
    __myGril = '凯蒂'

    # 受保护的属性,仅允许自身和自类访问
    _info = [1,2,3]

    # 重写构造方法
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    # 重写父类的方法
    def printMyName(self):
        print '我的帅帅帅帅帅名字是=', self.name
        self.__myGrilName()

    # 私有函数 __ 开头
    def __myGrilName(self):
        print '我的女朋友', self.__myGril
        print self._info

myBody = MyBody('李四', 30, '男')
myBody.printMyName()
myBody.eatWhat('面包')
myBody.printMyName()
print myBody._eatList

del myBody
# myBody.printMyAge() 失败 会提示 name 'myBody' is not defined

上一篇下一篇

猜你喜欢

热点阅读