python基础-day18

本文是Python编程的初学者教程,涵盖了Python基础概念,包括变量、数据类型、控制流程和函数等基础知识。通过实例解析,帮助读者快速上手Python编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

day17笔记:
    文件:
        长期存储数据
        单位是字节(byte)
        文件的操作
            1打开文件
            2读写文件
            3关闭文件
                释放资源(缓冲区,内核资源)
        打开文件的函数:
            open(文件路径名,打开模式)
        方法:
            F.close() 关闭文件
            #读,仅在r模式下可用
                F.read([n]) 读取n个字节/n个字符
                F.readline()
                F.readlines()
            #写,仅在'w','x','a'模式下可用
                F.write(字节串/字符串)
                F.writelines([字节串/字符串元素])
            #以下两个文件通常只对二进制文件操作
                F.seek(偏移量,起始位置)
                F.tell()    #得到当前读写位置的指针
            F.flush()       #清空缓冲区 
        打开模式:
            二进制模式:'b'
                把文件看成是字节数据,读写时会直接把磁盘数据以字节串形式返回或写入
            文本模式: 't'
                把文件看成是字符数据,读写过程中会自动编/解码(默认是'utf-8'),而且会把换行符进行自动转换
    
    汉字编码
        只有两种:
            GB系列(国家标准)
                GB18030(GBK(GB2312))
            Unicode系列(国际标准)
                Unicode32(Unicode16)))  <----->     UTF-8互转
    编码字符串:
        'gb18030','gbk','gb2312' ,'utf-8','ascii'...
    编码注释:
        # -*- coding:gbk -*-
    标准输入输出文件:
        sys.stdin
        sys.stdout
        sys.stderr
-------------------------------------------------------------------
day18笔记:

面向对象编程 Object-Oriented Programming

    面向过程编程基本单位:函数
    面向对象编程基本单位:类 class
    什么是对象
        对象是指现实中的物体或实体(实例)
    什么是面向对象
        把一切看成对象(实例...),用各种对象之间的关系来描述事物
    对象都有什么特征
        对象有很多属性(名词,形容词)
            姓名,年龄,性别
        对象有很多行为(动作,动词)
            学习,吃饭,踢球,工作
    
    什么是类
        拥有相同属性和行为的对象分为一组即为一类
        类是用来描述对象的工具,用类可以创建此类的对象(实例)
        示意:
            车(类)--->> BYD E6(京B.88888)) 对象(实例)
                 \
                   \-->> BMW X5 (京B.00000)) 对象(实例)

            狗(类)--->> 哈士奇 (户籍号:0000001)) 对象(实例)
                 \
                   \-->>导盲犬 (户籍号:0000002)) 对象(实例)

    类的创建语句 class 语句
        语法:
            class 类名(继承列表):
                '''类的文档字符串'''
                实例方法
                类变量
                类方法(@classmethod)
                静态方法(@staticmethod)
            作用:
                创建一个类
                用于描述此类对象的行为和属性
                类用于创建此类的一个或对个对象(实例)
            说明:
                类名必须是标识符
                类名实质是变量,它在创建类时绑定一个类
            
            示例见
                class.py
                    class  dog:
                        '''此语句用来定义一个新的类型 dog'''
                        pass
                    print(dog)
构造函数:
    调用表达式:
        类名([创建传参列表])
    作用:
        创建这个类的实例对象,并返回此实例对象的引用关系
    说明:
        实例有自己的作用域和名字空间,可以为该实例添加实例变量(也叫属性)
    示例见:
        construcor.py
            class  dog:
                '''此语句用来定义一个新的类型 dog'''
                pass
            dog1=dog()
            print(id(dog1)) #创建一个实例对象
            dog2=dog()
            print(id(dog2)) #创建第二个实例对象

            lst1=list()
            print(id(lst1)) #创建一个列表对象
            lst2=list()
            print(id(lst2)) #创建第二个实例对象      

实例方法:
    定义语法:
        class 类名(继承列表)
            def 实例方法名(self,形参列表):
                '''方法的文档字符串'''
                语句块
    作用:
        用于描述一个对象的行为,让此类型的全部对象都用于相同的行为
    说明:
        1实例方法的实质是函数,是定义在类内的函数
        2实例方法至少有一个形参,第一个形参绑定调用这个方法的实例,一般命名为'self'
    实例方法的调用语法:
        实例.实例方法名(调用实参)
        或
        类名.实例方法名(实例,调用实参)
    示例见:
        #instance_method.py

#此示例用于示意为dog类添加吃,睡,玩等实例方法,以实现dog对象的相应行为
        class dog:
            '''这是一群可爱的小动物'''
            def eat(self,food):
                '''此方法用来描述小狗吃的行为'''
                print('id为%d的'%id(self),end='')
                print('小狗正在吃',food)
            def sleep(self,hour):
                print('id为%d的小狗睡了%d小时'%(id(self),hour))
            def play(self,wanju):
                print('id为%d的小狗正在玩'%id(self),wanju)
                # return 10  方法内可用return返回数据
        dog1=dog()
        dog1.eat('骨头')
        dog1.sleep(1)
        dog1.play('球')

        dog2=dog()
        dog2.eat('狗粮')
        dog2.sleep(2)
        dog2.play('飞盘')

实例属性: instance attribute
    每个实例都可以有自己的变量,称为实例变量(也叫属性)
使用语法:
    实例.属性名
赋值规则:
    首次赋值则创建此属性
    再次赋值则改变此属性的绑定关系
作用:
    记录每个对象自身的数据

示例见:
    instance_attribute.py 
            #此示例示意创建和使用实例属性
            class dog:
                '''这是一个小动物'''
                def eat(self,food):
                    print(self.color,'的',self.kinds,'正在吃',food)
                    #以下让当前的小狗自己记住吃的是什么
                    self.last_food=food
                def show_info(self):
                    print(self.color,'的',self.kinds,'上次吃的是:',self.last_food)
            dog1=dog()
            dog1.kinds='哈士奇'  #创建属性
            dog1.color='黑白相间'#创建属性color
            dog1.color='白色'   #修改属性color
            dog1.show_info
            print(dog1.color,'的',dog1.kinds)
            dog1.eat('骨头')
            dog2=dog()
            dog2.kinds='藏獒'
            dog2.color='灰色'
            dog2.eat('狗粮')
            dog2.show_info


练习:
    定义一个'人'类变量  
        class human:
            def set_info(self,name,age,adress='不详')
                '''此方法用来给人对象添加"姓名","年龄","家庭住址"属性'''
                ...此处自己实现
            def show_info(self):
                '''显示此人信息'''
                ...#此处自己实现
    调用方法如下:
        s1=human()
        s1.set_info('小张',20,'深圳市南山区')
        s2=human()
        s2.set_info('小李',18)                                           
        s1.show_info() #小张 20岁,家庭住址:深圳...
        s2.show_info() #小李 18岁,家庭住址:不详
        ----------------------------------------------
        class human:
            def set_info(self,name,age,address='不详'):
                '''此方法用来给人对象添加"姓名","年龄","家庭住址"属性'''
                self.name=name
                self.age=age
                self.address=address
            
            def show_info(self):
                print(self.name,self.age,'家庭住址:',self.address)

        s1=human()
        s1.set_info('小张',20,'深圳市南山区')
        s2=human()
        s2.set_info('小李',18)
        s1.show_info()
        s2.show_info()



































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值