Python面向对象编程进阶


Python全面采用了面向对象的思想,是真正的面向对象的编程语言.一切皆为对象

  • OOP(Object oriented programming)面向对象
  • 一种针对大型软件程序的编程思想
  • 特点
    • 扩展性强,可读性好
    • 使编程就和堆积木一样
    • 将数据(属性)和操作方法(函数)全部封装到对象中
    • 组织代码的方式更加接近人的思维

面向对象与面向过程

  • 区别

    • 面向过程思维

      • "执行者"思维,适合编写小规模程序
      • 我们首先思考"按照什么步骤"实现,一步一步最终完成,适合一些简单的事情,不需要协作关注"程序的逻辑流程"
      • 例如:
      • 开车 (发动车->挂挡->踩油门->走喽)
      • 做...

Read more

Python面向对象编程入门


Python面向对象编程入门

课程目标:了解面向对象并可以根据面向对象知识进行编写代码。

课程概要:

  • 初识面向对象
  • 三大特性(面向对象)
    • 封装
    • 继承
    • 多态

面向对象

面向对象编程是最有效的软件编写方法之一。

在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。

编写类时,你定义一大类对象都有的通用行为。

基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。

使用面向对象编程可模拟现实情景,其逼真程度达到了令人惊讶的地步。根据类来创建对象称为实例化,这让你能够使用类的实例。

为什么学习面向对象

理解面向对象编程有助于你...

Read more

Pandas数据清洗


pandas数据清洗

数据清洗的原因

在原始数据中存在:

  • 缺失值
  • 异常值
  • 重复值

处理空值

两种空值

  • None
    • 类型为None对象,不能参与运算
  • np.nan
    • 类型为float,可以参与运算

pandas处理空值的方法

  • isnull
  • notnull
  • any
  • all
  • dropna
  • fillna
import numpy as np
import pandas as pd
from pandas import DataFrame,Series

# 伪造一些数据(存在空值)
df = DataFrame(data=np.random.randint(0,10,size=...

Read more

Go基础语法


Go基础知识(一)

Go命令行和项目结构

Go的工作区目录结构有bin、pkg、src三个(在GOPATH目录下):

  • bin:编译后的可执行程序的存储目录。

  • pkg:编译时生成的对象文件。

  • src:库文件。

    这些都是Go设计者的约定,只需按照这样的方式组织目录结构即可。

    GOPATH环境变量生效时个人项目可以在src目录下创建新目录,第三方库存放在src的github.com目录下。

Go版本1.11以上支持设置GOROOT环境变量,在任意目录下创建项目程序即可。安装Go语言开发系统后,内置的命令行工具常用的命令如下:

go build:将程序编译成可执行文件。

go r...

Read more

Go语言简介


Go语言简介

Go语言比较“年轻”,是Google的罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)开发的,它是一种静态强类型、编译型、并发型的编程语言,并具有垃圾回收功能。由于Go语言拥有丰富的生态系统,且其开发团队阵容强大,因此一经问世就得到众多用户的青睐。

Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。

Go语言的特性

1.语...

Read more

Python模块和包


Python模块和包

在Python中一般对文件和文件夹的称呼。

  • 一个py文件就是一个模块(module)。
  • 含多个py文件的文件夹就是包(package)。

注意:在包(文件夹)中有一个默认内容为空的__init__.py的文件,一般用于描述当前包的信息(在导入他下面的模块时,也会自动加载)。

  • py2必须有,如果没有导入包就会失败。
  • py3可有可无。

当定义好一个模块或包之后,如果想要使用其中定义的功能,必须要先导入,然后再能使用。

导入,其实就是将模块或包加载的内存中,以后再去内存中去拿就行。

关于导如时的路径:

在Python内部默认设置了一些路径,导入模块或包时,都会按...

Read more

Python文件操作


Python文件操作

课程目标:掌握基于Python对文件相关操作。

image-20211215100356630

image-20211215104228550

image-20211215104259256

image-20211215104448982

image-20211215104627807

image-20211215104645340

image-20211215104700513

image-20211215104717808

image-20211215104733018

image-20211215104744950

基础案例:

# 案例1:用户注册
"""
user = input("请输入用户名:")
pwd = input("请输入密码:")
data = "{}-{}".format(user, pwd)
file_object = open("files/info.txt", mode='wt', encoding='utf-8')
file_object.wri...

Read more

Python函数进阶


函数进阶

高阶函数

在函数式编程中,可以把函数当作变量⼀样自由使用。⼀个函数接收另⼀个函数作为参数,这种函数称之为高阶函数(Higher-order Functions)。

image-20211215093327344

image-20211215093349052

image-20211215093414954

编写自己的高阶函数

image-20211215093509294

匿名函数 lambda

  • 只用一次
  • 让代码更简洁

在Python中,如果一个函数的函数体非常简单,我们可以使用lambda来创建匿名函数。例如,求某数的n次方的函数,可以这样定义:

power = lambda a,n:a**n

让代码变得更简洁

image-20211215093824660

image-20211215093913988

函数式编程

image-20211215093554407

函数 map :映射序列

image-20211215093717413

使用匿名函数

image-20211215094218060

image-20211215094236711

image-20211215094254402

image-20211215094306487

image-20211215094328569

递归函数

image-20211215094457677

递归方法是指在程序中不断反复调用自身来求解问题的方法...

Read more

Python函数入门


函数入门

如何让代码可以被重复使用?如何提高代码的可读性和可维护性?方法之一便是使用函数。函数就是组织在一起的、可以被其他代码调用的、实现特定功能的一段代码。

目标:掌握函数的编写方式以及函数的基本使用。

概要:

  • 初识函数
  • 函数的参数
  • 函数的返回值

定义函数

在Python中,用关键字def定义函数,其语法为

# 定义函数
def 函数名():
    函数内编写代码
    return 返回值
    ...

# 执行函数
函数名()

例如,我们定义一个求某数的n次方的函数,示例如图所示。

image-20211215090306176

简化power函数

image-20211215090409767

为了进一步理解函数的概念和用法,下面再以斐波那契数列(F...

Read more