2984-徐景凯-Python学科-数据分析 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

这课程讲的就和拿着稿子照本宣科一样

[展开全文]

字符串及常用方法:

[展开全文]

a=' name    '

b=a.strip()去除空格 

lstrip()删除左边的空格

rstrip()删除右边的空格

capitalize()首字母变大写

id()内存地址

[展开全文]

查数据类型:用type查询
a=10

print(type(a))

[展开全文]

单行注释:#

多行注释:‘’‘’‘’或者'''

如: ‘’‘’‘’

注释为。。。。。。。

 

‘’‘’‘’

或者

'''

注释。。。。。。。

'''

[展开全文]

比较运算是布尔类型的数据(ture,false)

[展开全文]

如何定义变量和使用:

a=10 int(整数类型)

a=‘吴老师’str(字符串类型)

a=12.67 float(浮点类型)

a=True bool (布尔值)

b=()tuple(元组类型)

c=【】list(列表类型)

d={}dict (字典类型)

变量的命名不能以数字来开头

变量区分大小写

关键字不能定义 

[展开全文]

如何定义变量和使用:

a=10 int(整数类型)

a=‘吴老师’str(字符串类型)

a=12.67 float(浮点类型)

a=True bool (布尔值)

[展开全文]

全列插入:

insert into 表名 values( ‘数据1’, ‘数据2’, ‘数据3’……)

部分插入:

insert into 表名 (字段1,字段2 ……)values( ‘数据1’, ‘数据2’, ……),( ‘数据1’, ‘数据2’, ……)

[展开全文]

prog:文件名

usage:用途描述

description:文件描述

epilog

[展开全文]
#!usr/bin/env python 
# -*- coding:utf-8 -*- 
""" 
@author: haozhengwei 
@file: 类方法和静态方法.py 
@time: 2022/01/10 
@desc: 
"""
# 类方法:类对象所拥有的方法,需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数,
# 类方法可以通过类对象、实例对象调用
class People:
    country='China'
    #类方法需要用@classmethod修饰
    @classmethod
    def get_country(cls):
        return cls.country
        pass
    @classmethod
    def change_country(cls, data):
        cls.country=data#在类方法中修改类属性
        pass
    pass
print(People.get_country())#通过类对象去引用
P=People()
print('实例对象访问', P .get_country())
People.change_country('英国')
print(People.get_country())


# 静态方法:类对象所拥有的方法,需要用@staticmethod来表示,静态方法不需要任何参数。
class Person(object):
    country ='China'
    def __init__(self, name):
        self.name = name
    #静态方法用staticmethod装饰
    @staticmethod
    def get_country():
        print(Person.country)

people = Person('xiaoming')
result = Person.get_country()#注意,一般情况下,我们不会通过实例对象去访问静态方法,减少资源开销。
#为什么要使用静态方法呢?
#由于静态方法主要来存放逻辑性的代码,本身和类以及实例对象没有交互,在静态方法中不会涉及到类中方法和属性的操作。
#数据资源能够得到有效利用

#demo 返回当前时间
#返回当前的系统时间
import time
class TimeTest:
    def __init__(self,hour, min, second):
        self.hour = hour
        self.min = min
        self.second = second
    @staticmethod
    def showTime():
        return time.strftime('%H:%M:%s',time.localtime())
        pass
    pass
print(TimeTest.showTime())
t=TimeTest(2, 10, 5)
print(t.showTime())

#类方法、实例方法、静态方法对比
# 1、类方法的第一个参数是类对象cls,通过cls引用的类对象的属性和方法;
# 2、实例方法的第一个参数是实例对象self,通过self引用的可能是类属性、也有可能是实例属性
# 不过,存在相同名称的实例属性和类属性的情况下,实例属性的优先级更高。
# 静态方法中不需要额外定义参数,因此在静态方法中引用类属性的话,必须通过类对象来引用。
[展开全文]

调用父类方法

可以显式的用  父类名.__init__(self,param, param)

也可以用:

super.__init__(self, param)(自动找到父类,进而调用方法)

[展开全文]
#!usr/bin/env python 
# -*- coding:utf-8 -*- 
""" 
@author: haozhengwei 
@file: jicheng.py 
@time: 2022/01/10 
@desc: 
"""

# 在python中展现面向对象的三大特征,封装、继承、多态
# 封装:指的是把内容存储在某个容器中,便于以后的调用。
# 他需要:
# 把内容封装到某个地方,比如属性、方法的定义就是封装;在另外一个地方调用被封装的内容
# 对于封装来说其实就是使用初始化构造方法将内容封装到对象中,然后通过对象直接得获得被封装的内容,或者通过self简洁的获得被封装的内容
# 继承:子可以继承父的内容【属性和行为】类所有的,类-实例都有;相反,类-实例有的,类不一定有;
# 所以,对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,而不必一一实现每个方法;
# 这样可以提高代码编写效率,精简代码的层级结构;比较清晰便于扩展;
# class 类名(父类名):
#     '''子类继承父类中公共的属性和方法'''
    # pass

# 多继承
# 比如C可以继承A和B两个父类的属性和方法
# class A(object):
#     print('a')
#     pass
#
# class B(object):
#     print(B)
#     pass
#
# class C(A,B):
#     print('I am son of A and B')
#     pass

class Shenxian:
    def fly(self):
        print('神仙都会飞')
        pass

class Monkey:
    def chitao(self):
        print('猴子喜欢吃桃子')
        pass

class Sunwukong(Shenxian, Monkey):#孙悟空既是神仙也是猴子
    pass

swk = Sunwukong()
swk.fly()
swk.chitao()


# 问题:当多个父类当中存在相同方法的时候,应该去调用哪一个?
# 直系优先,先就近级别搜索;没有则再上一级别;可以用__mro__方法查看,比如swk.__mro__
# 在类的传递过程中,我们把父类称为基类,子类称为派生类,父类的属性和方法可以一级一级的传递到子类;
# 一般情况下在做类的设计的时候,一般不超过3级
# 重写父类中的方法:所谓重写,就是子类中,有一个和父类同名的方法,在子类中的方法会覆盖掉父类中的同名方法
[展开全文]

__init__(self)方法:

__init__(self)方法,初始化方法,实例化对象的时候调用,完成一切初始化设置。

#创建一个动物类:

class Animal(object):

 

[展开全文]

实例方法:在类的内部,使用def关键字可以定义一个实例方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数。

class Animal(object):

#实例方法,试用def关键字定义,第一个形参默认传实例对象本身,一般使用self作为第一个参数

[展开全文]

面向过程:根据业务逻辑从上到下写代码;首先思考这件事情怎么按照步骤去实现,然后将问题拆解为若干个步骤,并将这些步骤对应成方法一步一步的最终完成这些功能;
面向过程,关注如何做,不适合做大项目
函数式编程:将某功能代码封装到函数中,日后无序重复编写,仅调用函数即可。
面向对象编程:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程。
面向对象:oop [object oriented programming]是一种Python的编程思路;关注的是设计的思维,【找洗车店,给钱洗车】
面向对象适合做更大的项目;不注重细节过程,注重思考谁(对象)来做。

面向对象与面向对象编程:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法
面向对象编程(Object Oriented Programming-OOP)是一种解决软件复用的设计和编程方法。这种方法把软件系统中相似、相近的操作逻辑和操作应用、
数据、状态,以类的形式描述出来,以对象、实例的形式在软件系统中复用,以达到提高软件开发效率的作用。


类和对象的概念
类就是模板、模型,模板里可以包含一些函数,函数里实现一些功能。
对象则是根据模板创建的实例,通过实例可以执行类中的函数。
类相当于制造汽车的图纸,对象相当于根据图纸制造出来的汽车。

类的组成部分:
类(Class) 由3各部分组成:
类的名称
类的属性:一组数据
类的方法:类可以操作的方法(行为)

例如:创建一个人类
食物名称(类名):人
属性:身高、体重、年龄、肤色
方法:吃、跑

类是具有一组相同或相似特征(属性)和行为(方法)的一系列对象的组合


对象:是实实在在的一个东西,是类的具象化、实例化。
类是对象的抽象,对象是类的实例(凝聚态)


具有相同或相似属性和行为的一系列对象的集合都可以抽象出一个类
例如:小明开着他的宝马去逛街
小明--->可以抽象出人类
宝马--->可以抽象出车类


 

[展开全文]