• day02 函数定义 对象定义 文件读写


    一.函数定义

    '''
    普通函数
    '''
    def func(a,b,c):
       print(a)
       print(b)
       print(c)
    func(12,c=25,b=50)#位置参数必须在关键字参数前面
    print('----------')
    '''
    函数可带默认参数
    '''
    def func1(d,e=10):#默认参数
        print(d)
        print(e)
    func1(4)
    print('----------')
    '''
    不定长位置参数
    '''
    def func(a,*args):
        print(a)
        print(args)
        print(*args)
    func(1,2,3,4,5)
    print('----------')
    '''
    不定长关键字参数
    '''
    dic={'name':'miao','age':22}
    def myfunc(a,*args,**kwargs):
        print(a)
        print(args)#不定长关键字
        print(kwargs)#不定长位置
    myfunc(1,2,3,4,dic)#不解包就把dic当成前面args的一个位置参数
    myfunc(1,2,3,4,**dic)
    print('----------')
    '''
    lambda形式的函数
    '''
    func=lambda x,y: x+y
    print(func(3,4))

    #题目一
    def func(n):
        if n==1:
            return 1
        else:
            return func(n-1)+n
    print(func(3))
    print('----------')
    #题目二
    
    def count(pstr,sstr,begin=0,end=0):
        print(pstr.count(sstr,begin,end))
    count('adssdsadsd','ads',0,9)
    print('----------')
    #题目三
    def myfunc(*args,**kwargs):
    
        if (len(args)+len(kwargs))<4:
            print("参数不足4个请检查")
        else:
            if args:#判断位置参数是否为空
                print(args)
            if kwargs:
                for value in kwargs:
                    print(value)
    myfunc(6,7,5,c=5,d=6,r=7,a='d')
    print('----------')
    #题目四
    def addition(*args):
        s=0;
        for item in args:
            s=s+item
        print(s)
    addition(1,2,3)
    print('----------')
    # 题目五
    # 方法一
    def r(s):
        print(s)
    r(3/4)
    #方法二
    def add(x,y):
        return x+y
    x=int(input('x:'))
    y=int(input('y:'))
    op=input('op:')
    dic={'+':add}
    print(dic[op](x,y))
    print('----------')
    #题目六
    def mfunc(s):
        if isinstance(s,int):
            print(s + 1)
        if isinstance(s,str):
            print(s+'1')
        if isinstance(s,list):
            s.append(1)
            print(s)
    mfunc(1)
    mfunc('fd')
    mfunc(['d',1,5,'df'])
    print('----------')
    #题目七
    def f():
        s=[]
        x=input('输入:')
        while(x!='quit'):
            s.append(x)
            x = input('输入:')
        print(s)
    f()
    print('----------')
    #题目八
    fu=lambda x,y:pow(x,y)
    print(fu(2,3))

     二.模块

    from random import randint,randrange#导入某一个模块的具体功能
    import demo #调用时,没在if __name__ == '__main__':下的都被执行

    三.方法

    实例方法第一个参数必须是self

     

     实例权限最高

    类方法就是每次都是做同样的事情。例如math中的pow方法,math.pow(x,y)使用,而不用创建一个对象进行调用

    三.继承

    四.文件读取

     读取

     写入

    练习:

    print('题目一')
    class student:
        def __init__(self,name,age,score):
            self.name=name
            self.age=age
            self.score=score
        def get_name(self):
            return self.name
        def get_age(self):
            return self.age
        def get_course(self):
            return max(self.score)
        def get_avg(self):
            x=sum(self.score)/len(self.score)
            return x
    stu=student('jim',22,(50,60,70))
    print(stu.name)
    print(stu.age)
    print(stu.get_course())
    print(stu.get_avg())
    print('题目二')
    import random
    class AutoRobot:
        gameDic=['石头','剪刀','']
        d={'石头':2,'剪刀':1,'':0}
        a=0
        b=0
        def play(self):
            c=0
            while(c<5):
                x=random.choice(self.gameDic)
                y=random.choice(self.gameDic)
                print(c,x,y)
    
                i=self.d[x]
                j=self.d[y]
                if i>j and i-j==1:
                    self.a=self.a+1
                if i>j and i-j==2:
                    self.b=self.b+1
                if i<j and j-i==1:
                    self.b=self.b+1
                if i<j and j-i==2:
                    self.a = self.a + 1
                c=c+1
            print('最后比分:',self.a,self.b)
    a=AutoRobot()
    a.play()

     题目二的方法二:

    import random
    class auto:
        gameDic=['石头','剪刀','']
        @classmethod
        def play(cls):
            guize=[['','石头'],['石头','剪刀'],['剪刀','']]
            result1=random.choice(cls.gameDic)
            result2=random.choice(cls.gameDic)
            if result2==result1:
                print('draw')
            elif [result1,result2] in guize:
                print('robot1 win')
            else:
                print('robot2 win')
    a=auto();
    a.play()

  • 相关阅读:
    转:CTE(公共表表达式)——WITH子句
    排名函数——ROW_NUMBER()、RANK()、DENSE_RANK()和NTILE(n)
    深层拷贝和浅层拷贝
    Jmeter如何连接数据库Mysql
    java执行cmd命令并获取输出结果
    Java 读取Excel2007 jar包冲突的问题(org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException)
    读写文件
    eclipse报jvm terminated.exitcode=2异常解决办法
    Appium常用的API函数
    自动化生成html报告
  • 原文地址:https://www.cnblogs.com/miaobo/p/12661325.html
Copyright © 2020-2023  润新知