首页 > 编程语言 >python全栈开发

python全栈开发

时间:2022-12-09 16:15:05浏览次数:31  
标签:__ 函数 python self 全栈 开发 参数 Student print

必备常识


硬件组成

进制转换

注释

基本数据类型


变量

整型(int)

浮点型(float)

字符串(str)

列表(list)

元组(tuple)

字典(dict)

集合(set)

流程控制


if 条件语句

for 循环

while 循环

函数


定义和调用

  • 定义

    - 功能会重复使用、或者代码量较多的时候,定义成函数
    - 基本语法
    	def 函数名(参数列表):
            函数体
    - 调用
    	函数名()
        
    - 函数定义时不执行函数体,只有当调用函数的时候才会执行。因此,只要符合函   数的定义形式,只要不调用函数,即便函数体内由语法错误或者逻辑错误,运行   程序也不会报错。
    
    
    # ############################################################
    
    #函数定义与调用
    def func1():
       print("HelloWorld")
    func1() #打印HelloWorld
    
    
    
    
    
    
    #定义不执行,调用才执行
    def func2():
        pri("HelloWorld") #有语法错误
    #func2() #调用时,才报错
        
    
  • 参数

    - 参数就是变量在函数中的特殊称谓,参数根据实际情况定义
    - 形式参数(形参):在函数定义的时候,紧跟在函数名后的变量,相当于数学函   数中的自变量,只起到表示的作用,方便在函数体中使用,没有具体的值。
    - 实际参数(实参):在函数调用的时候,形式参数被赋值后,叫做实际参数,相   当于数学函数中的自变量被赋予具体的值后的名称。
    - 传参:调用函数时,给形式参数赋值的过程。
    - 位置参数:传参的一种形式。按照形参的位置顺序,依次传入具体的值。
    - 关键字参数:传参的一种形式。直接以变量赋值的形式(变量名 = 变量值)传入   具体的数据,此时可以不遵从形参的位置顺序。但是,位置参数和关键字参数混   用的时候,关键字参数必须写在位置参数的后面。
    - 默认参数:定义时被赋值的形参。在定义的时候可以给形参赋初值,可以根据具   体情况,在调用的时候以关键字参数的方式重新给该形参赋值。定义函数时,默   认参数写在普通参数的后面。
    - 可变长度参数:特殊的形参,*参数名(一般写成 *args) 和 **参数名(一般写成   **kwargs)。可以接收任意个多余的参数。以位置参数的形式传参的多余参数存   放在元组中,并且元组的名字是args;以关键字参数的形式传入的多余参数存放   到字典中,并且字典的名字是kwargs。
    
    
    
    # #############################################################
    
    #位置参数和关键字参数
    def add_num(x, y, z):
        result = x + y + z
        return result
    
    value = add_num(2, 3, 4)
    # value = add_num(2, z = 4, y = 3)
    print(value)
    
    
    
    
    
    #默认参数和可变长度参数
    def add_anyNum(sumary=0, *args):
        for index in range(0, len(args)):
            sumary += args[index]
        return sumary
    
    value = add_anyNum(1,2,3,4,5,6,7)
    print(value)
    
  • 作用域

常见函数

  • 函数的分类

    - 根据参数分类
    '''
    	1. 无参函数:一般应用于不处理数据的情况
    	2. 有参函数:一般应用于需要处理数据的时候
    '''
    
    - 根据函数体分类
    '''
    	1. 空函数:函数体为pass。一般用于写程序结构的时候,后面再写上具体的        功能
    	2. 实体函数:普通的函数,定义的时候有具体的功能代码
    '''
    
    - 根据返回值分类
    '''
    	1. 有返回值函数:一般用于处理数据之后返回结果,默认返回None
    	2. 无返回值参数:一般用于不处理数据的函数中
    '''
    

文件操作


模块


面向对象


面向对象

  • 面向对象与面向过程

      解决一个问题,可能需要用到多个函数,当函数的个数达到十几个甚至几十个的时候,找起来会非常的麻烦,大大降低了开发的效率。面向对象就是把这些函数归到一类,并且以后再次出现这类问题的时候,能够快速地找到每一步对应的函数;而面向过程中,每次解决同类的问题,程序员需要在一堆函数中,准确地找到目标函数。
    
  • 应用场景

      当处理一类问题,要用到多个函数的时候,建议使用面向对象。当然,如果只是为了解决这一个问题,以后不会再处理类似的问题时,没有必要采取面向对象的编程方式。
    
  • 对象和类

    - 类:多个函数放到一个地方,这个地方叫做类
    - 对象:类里面的所有内容属于谁,谁就是这个类的对象
    

成员

  • 属性

    - 属性就是变量在面向对象中的特殊称谓
    - 实例属性(实例变量):封装到对象中的变量
    - 类变量(类属性):封装到类中的变量
    
  • 方法

    - 方法就是函数在面向对象中的特殊称谓
    - 所有的方法都属于类
    - 实例方法(对象方法):方法必须含有self参数,主要用于处理封装到对象中的   数据,只能通过实例调用。
    - 类方法:@classmethod装饰器修饰,self替换为cls参数,主要用于处理类变量   或其他方法。通过类直接调用,对象也可以调用但是不推荐。
    - 静态方法:@staticmethod装饰器修饰,一般用不到参数。通过类直接调用,对   象也可以调用但不推荐。
    - 属性:@property装饰器修饰,只能由一个self参数,一般会有返回值,只能通   过对象调用,调用的时候不要加括号。
    - 特殊方法
    	'''
    		1. __init__(self):初始化方法,实例化对象时自动调用,主要用于            获取对象中封装的数据
    		2. __new__(self):构造方法,用于创建空对象(实例化对象的时候,            先执行构造方法创建对象,再执行初始化方法)
    		3. __call__(self):类中定义call方法后,对象加括号执行call方法
    		4. __str__(self):类中定义str方法后,打印对象的时候执行该方法
    		5. __dict__(self):将对象中的属性转换为字典形式
    		6. __enter__(self)__exit__(self,exc_type,exc_val,exc_tb)              _:上下文管理。主要用于在类中做文件操作,在类中,定义enter方            法和exit方法,with 类():... 首先执行enter方法,在执行with            类中的方法,最后执行exit中的方法
    		7. __add__(self):两个对象相加
    	'''
    - 内置函数
    '''
    	1. issubclass(A, B):判断A是否是B的派生类,基类的基类也满足
    	2. isinstance(A, B):判断A是否是B的实例,B可以是基类
    	3. super():找到基类。如果派生类中的方法与基类中的方法名冲突,但是        想要执行基类中的方法,可以super().方法()。如果多个基类中都有,          只找第一个。
    '''
        
        
        
        
        
       
    
    class Student(object):
        identity = "person"
    
        # 1.实例方法(绑定方法)
        def get_information(self, name, age, height, weight):
            self.name = name
            self.age = age
            self.height = height
            self.weight = weight
    
        # 2.类方法
        @classmethod
        def change_identity(cls):
            cls.identity = "student"
    
        # 3.静态方法
        @staticmethod
        def who_is():
            print("I am a boy.")
    
        # 4.属性
        @property
        def bmi(self):
            result = float(self.height) / float(self.weight)
            return result
    
    brank = Student()
    brank.get_information("BrankYeen", 18, 1.70, 70)
    Student.change_identity()
    print(Student.identity)
    Student.who_is()
    print(brank.bmi)
    
    
    
    # ##############################################################
    
    
    class Student(object):
        # 初始化方法
        def __init__(self, name , age):
            self.name = name
            self.age = age
            
        # str方法
        def __str__(self):
            return "这是一个Student类的对象"
        
        # call方法
        def __call__(self):
            print(f"{self.name}的年龄是{self.age}")
            
            
    brank = Student("BrankYeen", 18)
    brank()
    print(brank)
    
    
    
    # ############################################################
    
    
    
    class Person(object):
        def func(self):
            print("Person.func")
    
    class Student(Person):
        def func(self):
            super().func()
            print("Student.func")
    
    brank = Student()
    print(isinstance(brank, Student))
    print(isinstance(brank, Person))
    print(issubclass(Student, Person))
    brank.func()
    
  • 成员修饰符

    - 无论是方法还是属性,都可以分为公有和私有。公有的成员可以在外部进行访     问,而私有的成员只能在类的内部进行使用。
    - 可以在类中的定义方法,将私有成员作为返回值,此时就可以在外部访问到私有   成员;也可以直接调用内置方法:对象._类名__私有成员
    
    
    
    
    class Student(object):
        __identity = "student"
        
        def private_attribute(self):
            return Student.__identity
    
    brank = Student()
    print(brank._Student__identity)
    print(brank.private_attribute())
    
    

三大特征

  • 封装

  • 继承

    - 如果一个类想要用另一个类中的方法,则需要继承该类;继承一个类叫做单继     承,继承多个类叫做多继承,继承的顺序决定了基类的优先级。
    - 被继承的类叫做基类(父类),需要继承的类叫做派生类(子类)
    
    
  • 多态

网络编程


并发编程


数据库编程


标签:__,函数,python,self,全栈,开发,参数,Student,print
From: https://www.cnblogs.com/yinshaoxin/p/16969202.html

相关文章