19-09-20学习总结

一、回顾有关Python中类的相关知识

  1. 创建类时类名要大写。
    如:class Fish():
  2. self相当于c++中的this指针,当不同的对象引用类中元素时不会混淆、覆盖或冲突
    并且必须加上self
  3. _init_(self,x)可理解为构造函数,(2、3举例如下)
 In [37]:   
 	class Fish():
        def _init_(self,name):
            self.name = name       #定义名字
        def get_nameage(self,age): #传参年龄,年龄为形参,并非类中所属元素
            print(self.name + "+" + str(age))        
    a = Fish()
    a.name = 'xixi'
    a.get_nameage(11)
    b = Fish()
    b.name = 'haha'
    b.get_nameage(12)
    
  [结果]:
    xixi+11
    haha+12
  1. 公有与私有
    变量名前加两个下划线就变成私有如:__name就成了私有
    但是其实python的私有是虚假的私有。通过 对象名._类名__变量名即可访问私有变量
    a._Fish__name
  2. 继承
    若子类重写父类的方法,会将其覆盖
    如果不想覆盖,可使用super().函数名() 这部分还有点问题明天回顾一下
    (有关super()的补充)
class SchoolMember:
    def __init__(self,name,age,addr,hoppy):
        self.name = name
        self.age = age
        self.addr = addr
        self.hoppy = hoppy
        print('初始化的名字是%s'%self.name)

    def tell(self):
        print('姓名:%s,年龄:%s,地址:%s,爱好:%s'%(self.name,self.age,self.addr,self.hoppy))

class Teacher(SchoolMember):
    def __init__(self,name,age,addr,hoppy,salary):
        super().__init__(name,age,addr,hoppy)    #super后面的函数里面不加self!!!!
        self.salary = salary
        print('继承SchoolMember传入的名字:%s'%self.name)

    def tell(self):
        super().tell()
        print('我的工资一般是:%s\n'%self.salary)

class Student(SchoolMember):
    def __init__(self,name,age,addr,hoppy,marks):
        super().__init__(name,age,addr,hoppy)
        self.marks=marks
        print('我是继承SchoolMember学生%s'%self.name)

    def tell(self):
        super().tell()        
        print('我这次的成绩是:%d'%self.marks)
        
t = Teacher('dcy','40','河南郑州','旅游',3000)
t.tell()
s = Student('mxl',22,'上海','导游',85)
s.tell()

运行结果为:

初始化的名字是dcy
继承SchoolMember传入的名字:dcy
姓名:dcy,年龄:40,地址:河南郑州,爱好:旅游
我的工资一般是:3000

初始化的名字是mxl
我是继承SchoolMember学生mxl
姓名:mxl,年龄:22,地址:上海,爱好:导游
我这次的成绩是:85

二、回顾Sql注入原理

  1. union注入注意位数要一致且注释掉后面的内容;
  2. MySQL内置函数学习;
  3. 注入是指用户的输入进入解释器并被执行
    解释器:是一条一条执行语言的
    编译器:是将源代码整个编译成目标代码,执行时不在需要编译器,而是直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。如:C语言代码被编译成二进制代码(exe程序),在windows平台上执行。
    更通俗化的解释见解释器预编译器的区别
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值