Python基础快速入门实战教程

Python基础快速入门实战教程

8课时 |
36234人已学 |
(28 评论)

加入学习
加入学习

python面向对象编程

概述

面向对象编程即OOP编程,区别于面向过程编程,面向对象编程比较适合开发大项目,会以更接近人类的思维角度去写程序。

类和对象

类:具有某种特征的事物的集合(群体)

对象:群体(类)里面的个体

类是抽象的,对象是具体的---类的实例化

创造一个类:

class 类名:
    类里面的内容
 ...
     
class cl1:
    pass
...

实例化一个类

a=cl1()
...

a即类(cl1)内对象


两种调用方法:

构造函数

类在实例化时自动首先触发的函数:init(self,参数)--双下划綫,在类中的方法中必须加上self参数。

class cl2
    def__init__(self):
         print("hellow,welcome")

构造函数作用是初始化

给类加上参数---给构造方法加上参数

class cl3
    def __init__(self,name,job):
        print("my name is "+name+"my job is"+job)

输入c=cl3("ag","aqw")--输出my name is ag my job is aqw

属性与方法

属性: 静态的特征。如头发、手臂等

方法: 动态的特征。如唱歌、写字等

类中属性的定义和调用:self.属性名

class cl4:
    def __init__(self,name,job):
    self.myname=name
    self.myjob=job----定义类的属性

输入c=cl4("ag","aqw")--输入myname--输出ag--输入myjob--输出aqw--直接调用类的属性

方法:类里面的函数def 方法名(self,参数)

class cl5:
    def myfound(self):
    print("aga")

实例化时不需要添加参数,调用的时候需要添加

class cl6:
    def myfound1(self,name):
    print("hellow"+" "+name)

调用类里面的方法:

c=cl6()------实例化
c.myfound("liuyong")---调用函数myfound()并加参数

输出hellow liuyong

class cl7:
    def __init__(self,name):
    self.myname=name
    def myfound1(self):
    print("hellow"+" "+myname)

调用类里面的方法:

c=cl7("liuyong")------实例化即添加参数
c.myfound()---调用函数myfound()并加参数

继承与重载

继承: 把某一个或多个类(基类)的特征拿过来(单继承、多继承)

重载: 把子类(派生类)里面对继承过来的特征重新定义

父类: 基类

子类: 派生类

案例讲解

某一个家庭有父亲、母亲、儿子、女儿,父亲可以说话,母亲可以写字,大儿子继承了父亲写字的能力,女儿同时继承了父母亲、并且有能力听东西,小儿子继承了父亲,但是优化(减弱)了父亲说话的能力。

父亲类(基类):

class father():
    def speak(self):
        print("I can speak")

单继承类:class 子类(父类)

class son1(father):
    pass

执行

s=son1()
s.speak()
---I can speak

母亲类:

class mother()
    def write(self):
        print("I can write")

多继承:

class daughter(father,mother):
    def listen(self):
        print("I can listen")

执行

d=daughter()
d.speak()
---I can speak
d.write()
---I can write
d.listen()
---I can listen----多继承不影响新功能

重写(重载):

class son2(father):
    def speak(self):
    print("I can speak 2")

执行

s=son2()
s.speak()
---I can speak2---重名覆盖

作业:

将多个Excel表格里面的内容合并到一个文件中。

要点:

  • 使用第三方模块操作,比如xlrd、xlwt;
  • 注意使用循环;
  • 一个Excel中有多个sheet,也需要合并。
[展开全文]
ai老法师 · 2017-10-15 · Python面向对象编程 0

 

python模块实战

什么是python模块

为了让python程序实现更方便,可以根据需求类别将一些厂检单功能(函数)组合在一起,形成模块。以后要实现这一类功能的时候,直接导入该模块即可,模块里面的函数叫做模块的方法。系统自带的模块在安装目录的lib目录中。

模块内的函数叫做模块的方法。

模块的导入

  • import模块名

import cgi

cgi.closelog()

  • from...import...

from cgi import closelog

第三方模块的安装

模块的类别

  • 自带模块
  • 第三方模块(较常用)
  1. pip方式

cmd---pip---网络安装

  1. whl下载安装

下载lfd python---sp35 amd64--下载另存d盘爬虫--cmd--d:-cd 文件夹---pip install+下载文件全名(包括后缀)

  1. 直接复制

复制别人的安装文件(电脑和python型号相同)html文件

  1. anaconda
  • 自定义模块

在lib目录下新建文件--

模块与函数块的逻辑关系安装

自定义模块的调用

 

[展开全文]
ai老法师 · 2017-10-15 · Python模块实战 0

#逆向输出乘法口诀

for i in range(1,10):
    for j in range(1,11-i):
    print(str(10-i)+"*"+str(11-j-i)+"="+str((10-i)*(11-j-i)),end="  ")
print()
for i in range(9,0,-1):
     for j in range(i,0,-1):
     print(str(i)+"*"+str(j)+"="+str(i*j),end="  ")
print()

函数

函数的本质是功能的封装--def 函数名(参数)

局部变量与全局变量

作用域从变量开始到程序的最末的变量叫做全局变量,作用域只在局部的变量叫做局部分量。

函数内部定义的变量是局部变量,不能再外部输出或调用。

函数参数的使用

  • 函数定义的格式--def 函数名(参数)

    def abc(): print("agg")

  • 调用----输入 函数名()

参数:与外界沟通的接口

  • 形参

函数定义的时候使用形参

  • 实参

函数调用的时候用实参

[展开全文]
ai老法师 · 2017-10-15 · Python函数详解 0

python控制流

三种控制流概述

  • 顺序结构
  • 条件分支结构 if():/ elif():---else if:()/else:
  • 循环结构

while --while():-->

for

  • 便利列表--a=["qF","D","fd","d"] for i in a:-->
  • 进行常规循环--for i in range(0,10)-->

中断结构

  • break

全部直接退出,整个循环中断

  • continue

中断一次循环,继续下一次循环

乘法口诀

for i in range(1,10) : 
    for j in range(1,i+1):
    print(str(i)+"*"+str(j)+"="+str(i*j),end="  ")
print()

end代表不换行输出、注意python中缩进的含义,相同缩进代表相同层级

作业:逆向输出乘法口诀(9-->1)

改了好多次,终于做出来了

 

在乘法口诀python语句实现中

当最后一个print在j的循环里时

 

 

 

 

输出如下:

当最后一个print往前删除一个,提一个层次时

输出如下:

结论:同一层次的代码,处于同一个缩进幅度上,下一层次的代码,需要相对于上一层缩进,使用tab缩进。python中相同的缩进代表相同的层次,因此只要通过控制缩进就可以控制同一层级循环,直观方便。

 

 

[展开全文]
ai老法师 · 2017-10-15 · Python控制流与小实例 0

python语法基础

输出

输出hellow world

输入IDLE---> python

print(“要输出的内容”)

shell一行一行执行。ctrl+N 多行执行

后缀名.py

注释

  1. #注释法
  2. 三引号注释法---英文输入法下两端输入三个单引号或者多引号(前后要对应)

标识符

命名规则:第一个字符为字母或下划线;除了第一个字的其他字符可以是字母、下划线或数字。如_jh3ih/j_3hhf

变量

和标识符命名规则相同。

赋值=从右往左看

数据类型

默认数据类型:数、

  • 字符串(a='abc'/a2="abc"/a3='''abc''')、
  • 列表(list)---存储多个元素[,隔开,从0开始编号]列表内元素可以赋值
  • 、元祖(tuple)---()元祖内不可以重新赋值,取值和列表方式一样、
  • 集合(set)---=set{"字符串"}输出{'','',....}---去重、集合运算
  • 字典(dictionary)---{键:值,键:值.....}---d={"abc":6,"q":"daa"}。取值规则:字典名["对应键名"]--d["q"]输出daa
  • 运算符 +、-、*、/、%。基本的数学运算符的优先级规律在python上基本使用。实在不清楚优先级规律,为需要先执行的运算加上括号。+号可以进行字符串的连接---j="da",k="abc"+j--> k="abcda"

缩进

同一层次的代码,处于同一个缩进幅度上,下一层次的代码,需要相对于上一层缩进,使用tab缩进。

[展开全文]
ai老法师 · 2017-10-15 · Python语法基础 0

简介

面向对象、解释型的编程语言。python3.x各方面更成熟,将来肯定是主流,python2.x处理速度更快点。python3.x简洁、易学、几乎全能、支持面向对象,越来越多公司用python3.x。

建议学python3.x

能做什么

数据分析与挖掘、黑客逆向编成、机器学习、网络爬虫、开发游戏、自动化运维、开发WEB项目。

python 安装

python3.5.2 64位 稳定

官网 www.python.org(搜狗浏览器访问,download windows )

管理员身份运行

customise

勾选2、3 1随便 最后两个不勾

设置安装盘

advanced options (选creat、add)

设置环境变量---> 告诉系统python安装在什么地方了

(比较慢、)

[展开全文]
ai老法师 · 2017-10-15 · Python初识 0

将多个Excel表格里面的内容合并到一个文件中。

要点:使用第三方模块操作,比如xlrd、xlwt,还需要注意一个Excel中有多个sheet,也需要合并。

例如:

#将多个Excel文件合并成一个
import xlrd
import xlsxwriter
 
#打开一个excel文件
def open_xls(file):
    fh=xlrd.open_workbook(file)
    return fh
 
#获取excel中所有的sheet表
def getsheet(fh):
    return fh.sheets()
 
#获取sheet表的行数
def getnrows(fh,sheet):
    table=fh.sheets()[sheet]
    return table.nrows
 
#读取文件内容并返回行内容
def getFilect(file,shnum):
    fh=open_xls(file)
    table=fh.sheets()[shnum]
    num=table.nrows
    for row in range(num):
        rdata=table.row_values(row)
        datavalue.append(rdata)
    return datavalue
 
#获取sheet表的个数
def getshnum(fh):
    x=0
    sh=getsheet(fh)
    for sheet in sh:
        x+=1
    return x
 
 
if __name__=='__main__':
    #定义要合并的excel文件列表
    allxls=['E:/python/python工具/excel1.xlsx','E:/python/python工具/excel2.xlsx']
    #存储所有读取的结果
    datavalue=[]
    for fl in allxls:
        fh=open_xls(fl)
        x=getshnum(fh)
        for shnum in range(x):
            print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
            rvalue=getFilect(fl,shnum)
    #定义最终合并后生成的新文件
    endfile='E:/python/python工具/excel3.xlsx'
    wb1=xlsxwriter.Workbook(endfile)
    #创建一个sheet工作对象
    ws=wb1.add_worksheet()
    for a in range(len(rvalue)):
        for b in range(len(rvalue[a])):
            c=rvalue[a][b]
            ws.write(a,b,c)
    wb1.close()
    print("文件合并完成")

 

[展开全文]
rossnick · 2017-09-15 · Python面向对象编程 1

Python简介

是一门面向对象的、解释型的编程语言

Python3版本更好,

简洁 、 易学 、 几乎全能、

 

Python能做什么

1、数据分析与挖掘

2、黑客逆向编程

3、网络爬虫

4、开发WEB项目

5、开发游戏

6、自动化运维***

Python的安装

 

[展开全文]
lilojeason · 2017-09-13 · Python初识 0

模块目录:lib,site-package

导入方式:import,from ... import ...

模块的类别:自带模块;第三方模块;anaconda

lfb whl,whl只有windows版本?

 

[展开全文]
wnox · 2017-09-06 · Python模块实战 0

授课教师

《精通Python网络爬虫》作者
阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >