Python零基础学习笔记(七节课——从简介到面向对象编程)

学习了两天的python入门,把笔记干货分享给大家~

简介

面向对象、解释型的编程语言。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安装在什么地方了

(比较慢、)

python语法基础

输出

输出hellow world

输入IDLE---> python

print(“要输出的内容”)

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

后缀名.py

注释

#注释法

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

标识符

命名规则:第一个字符为字母或下划线;除了第一个字的其他字符可以是字母、下划线或数字。如_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缩进。

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)

#逆向输出乘法口诀

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")

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

参数:与外界沟通的接口

形参

函数定义的时候使用形参

实参

函数调用的时候用实参

python模块实战

什么是python模块

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

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

模块的导入

import模块名

import cgi

cgi.closelog()

from...import...

from cgi import closelog

第三方模块的安装

模块的类别

自带模块

第三方模块(较常用)

pip方式

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

whl下载安装

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

直接复制

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

anaconda

自定义模块

在lib目录下新建文件--

python文件操作

文件操作概述

直接使用对文件进行打开、关闭、读取、写入等操作,使用python可以自动对程序进行处理,比如合并多个Excel表格文件的内容。

文件操作实战

文件打开

操作txt文件---新建txt文档---写入内容--如何用python读取其中的内容--打开--open(文件地址,操作形式)--fh=open("D:/sdags/sgas","r")或fh=open("D:\sdags\sgas","r")---data=fh.read()--data--全部内容--fh.readline()---一行一行地读

操作形式:w-写、r-读取、b-二进制、a追加

文件关闭

fh.close()打开了用完之后一定要关闭文件

文件写入(w/a+)

data="dhaghhh"--open("文件地址","w")--fh2.write(data)--必须要先关闭写入文件内容才会在文件中保存--fh2.close()--多次写入只需一次文件关闭(如果用的是w-非追加写入的话)

w写入模式下每次关闭都会对内容进行更新替换,如果想每次写完不替换原先的内容,可以用a+追加写入模式。

python异常处理

概述

python程序在执行的时候,经常会遇到异常,如果中间异常不处理,经常会导致程序崩溃。比如后面我们写爬虫的时候,如果不进行异常处理,很可能虫爬了一半,直接崩溃了。

目的是写程序的过程中遇到异常可以跳过,不至于程序崩溃,增强程序的生命力。

异常处理实战

在python中创建一个try文件---ctrl+n(new)--ctrl-a--写一个程---制造异常---

异常处理格式

try:

    程序

except Exception as 异常名称:

    异常处理部分

注意: try和except要对应,且缩进量保持一致;try和循环的嵌套关系变化可能带来不同的处理结果。

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,也需要合并。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,645评论 0 5
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 3,350评论 0 80
  • @贰拾贰画生 感谢简明Python教程 输入输出 输入:raw_input string = raw_input(...
    贰拾贰画生阅读 2,624评论 4 21
  • 总结一下效率低的递归实现(虽然效率低,但是因为这是一种紧凑的实现还可以用线性规划来优化)分治递归就不总结了 ,总结...
    KeDaiBiaO1阅读 192评论 0 0
  • 今天阅读,看到了一句话“真正具有智慧的人会做一些短期看来很傻但长期会成为赢家的事情,小聪明的人会做一些短期看来很有...
    鸿波微澜阅读 369评论 0 0