Python基础总结

Python基础总结

Python简介

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。目前分为Python2.X和Python3.X两个版本,且Python3不向下兼容。

官方指南

1. Python2.7官方指南: http://pan.baidu.com/s/1dDm18xr

2. Python3.4官方指南: http://pan.baidu.com/s/1kTrDXIZ

3. Pyhton帮助文档(在线): https://docs.python.org/3/

基础语法

1. 运行脚本和编码

# !/usr/bin/env python

# -*- coding:utf-8 -*-

2. 注释

单行注释: #

多行注释: ”’(三个单引号)

3. 赋值

变量命名规则: (下划线或字母)+(任意数目的字母、数字或下划线),区分大小写。

4. 输入、输出

# 简单的输入输出

raw_input(“Please input: “) # Python2.x raw_input()

# input(“Please input: “) # Python3.x input()

print “hello world” # Python2.x 可以不用加()

print(“hello world”) # Python3.x 必须要加(),不然会报错! Python3.x print() 会是空行,而Python2.x print() 则会显示(),须注意!

# print(“This is “Note”“)

5. 特殊字符和转义字符

Unicode

转义字符: \

6. 控制语句

if,for,while,try.class,def,pass,assert,with,yield(返回一个元素),raise,import,from import,import as,in

7. 表达式

list,tuple,list,lambda

8. 函数

Python的函数支持递归、默认参数值,可变参数,但不支持重载。

9. 对象

10. 类库

Python类库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等功能。

环境配置

安装

1. 下载链接: https://www.python.org/downloads/

2. 安装过程中建议勾选 Add Python.exe to Path 即自动配置好环境变量。

3. 安装完成之后在终端输入 python 即可查看安装是否成功。

环境变量

1. 安装过程中若勾选 Add Python.exe to Path 则环境变量不需要再配置。

2. 如没有勾选,则将Python的安装路径配置到Path环境变量中。

IDE

1. Vim

2. PyCharm

3. eclipse

数据类型

1. type(Object)函数,返回对象的数据类型。

对于内建函数,type()会返回 build-in function..

对于用户自定义函数,type()会返回function.

对于对象,type()会返回type.

2. Python可对变量的数据类型进行强制转换,只需将数据类型作为函数名即可。不是所有的数据类型都能相互转换。 x = int(1.9)

数字类型(Numeric Types)

1. 整数: int

2. 浮点数: float

3. 复数: complex

number = 1 # int

# print(number)

print(type(number))

number = 1.0 # float 注意加了小数点 .0 就是浮点型了

# print(number)

print(type(number))

字符串类型(Text Sequence Type)

string = “hello world”

print(string)

print(type(string)) # type() 返回类型函数

布尔类型(Boolean)

1. 布尔类型使用2个常量表示True和False,注意首字母大写。

T = True # 布尔类型:True False;注意大小写

F = False

# t = true # 小写报错

print(type(T))

print(type(F))

序列类型(Sequence Types)

1. list,tuple和range

2. list类似Java中的数组,有序

3. tuple是不可变的list

4. range是python特有的,可方便产生等差的数列。

list1 = [1,2,True,”c”] # 列表类型;列表中的元素可为不同的类型;允许添加、修改、删除等操作

list2 = [] # 空列表

print(type(list1))

# print(type(list2))

tuple1 = (1,2,True,”c”) # 元组类型:和列表类似,不同在于list可变,tuple不可变,无法添加、修改、删除等接口;其内存处理较优越

tuple2 = (1) # 注意仅一个元素时候,要在后面加个 “,”,不然数据类型就不是元组了

tuple3 = (1,)

tuple4 = () # 空元组的赋值

print(type(tuple1))

# print(type(tuple2))

# print(type(tuple3))

# print(type(tuple4))

print(type(range(0)))

# print(list(range(5))) # range(stop) 产生0至stop(不包含stop)的等差为1的序列,可转换为list类型,便于查看理解

# print(list(range(1,4))) # range(start, stop[, step]) 产生start至stop(不包含stop)的等差为step的序列,step缺省为1

# print(list(range(8,1,-2))) # step可为负值

集合类型(Set Types)

集合类型包括set和frozenset(不可变set)。

set1 = {1,2,3,”1”,1,2} # 集合类型:无序不重复元素的集。基本功能包括关系测试和消除重复元素。

set2 = {} # 注意:这不是空集合的表示法,这表示空字典,下节会介绍

set3 = set() # 空集合的赋值

print(type(set1))

# print(type(set2))

# print(type(set3))

字典类型(Mapping Types)

字典类型即dict,由键和对应值成对组成;可对dict的键值进行访问、修改;对dict增加、删除键值操作。

dict1 = {‘Name’: ‘Zara’, ‘Age’: 7}; # 字典类型:以关键字为索引,来存储和析取值

dict2 = {} # 空字典的赋值

print(type(dict1))

# print(type(dict2))

流程控制

if条件语句

”’ 判断用户输入的整数是几位数(暂不考虑用户输入非整数)

为0 输出 It’s zero.

个位数 输出 It’s a number below 10

两位数 输出 It’s a two-digit number

三位数级以上 输出 It’s digit is more than two

”’

user_input = raw_input(“Please input a number: “) # Python 2

# user_input = input(“Please input a number: “) # Python 3

n = int(user_input) # 用户输入的类型为字符串,转换为整数类型

if (n==0):

print(“It’s zero.”)

elif (n<10):

print(“It’s a number below 10”)

elif (n<100):

print(“It’s a two-digit number”)

else:

print(“It’s digit is more than two”)

for循环

# for 语句实例

string = “python”

for i in string:

print(i) # 字符串处理

list = [“l”,”i”,”s”,”t”]

for i in list:

print(i) # 列表处理

for i in range(5):

print(i) # range()函数,range(5) 表示 0 到 4

while循环

# while语句实例

i=1

while(i<10):

print(i)

i += 1

continue、break的语法

1. continue: 跳出当前循环,执行下一次循环

2. break: 直接跳出循环,执行循环后的语句

函数

函数能提高应用的模块性和代码的重复利用率。

函数定义

1. 函数代码块以def关键词开头,后接函数标示符名称和圆括号,任何传入参数和自变量必须放在圆括号中间。

2. 函数内容以冒号起始,并且缩进。

3. 若有返回值,Return[expression]结束函数;不带return表达式相当于返回None。

4. 函数通常使用三个单引号”’来注释说明函数;函数体内容不能为空,可用pass表示空语句。

”’ some basic functions ”’

def func1(): # 函数无传入参数

print(“func1”) # 无return值

func1() # 函数调用

def func2():

return(“func2”) # return 字符串 “func2”

print(func2())

def func3(a,b): # 需传两个参数

print(“a+b = %d” %(a+b)) # print表达式,无return

func3(3,4)

def func4(a,b): # 需传两个参数

return (a+b) # return a+b 的值

print(func4(4,3))

函数调用

深入函数定义

1. 默认参数值: 最常用的一种形式是为一个或多个参数指定默认值,调用时,可不传入有默认值的参数。def ask_ok(hint, retries=4, complaint=’Yes or no, please!’): pass;

2. 关键字参数: 函数可以根据关键字函数的形式来调用。

3. 可变参数列表: 可变参数的表示为在其某参数名前加*,如*args。

内置函数(lamdba、filter…)

1. lamdba匿名函数

lamdba语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的是返回值。g = lambda x : x*x # lambda 匿名函数

2. filter函数

filter函数会对指定序列执行过滤操作。

3. map函数

map函数会对指定序列做映射操作。

4. reduce函数

reduce函数会对指定序列做迭代操作。

模块

模块定义

1. 模块定义

模块就是一个保存了Python代码的文件(.py),模块能定义函数,类和变量。

2. 导入模块

通过模块名来访问函数,model.function(res)。

通过from fun import model 导入model中的指定函数fun。

3. 定位模块

当前目录–shell变量PYTHONPATH下的每个目录。

4. dir()函数

内置函数dir()用于按模块名搜索模块定义,返回一个字符串类型的存储列表(变量,模块,函数等待);无参数调用时,dir()函数返回当前定义的命名(dir不会列出内置函数和变量名,这些在__builtin__中定义)。

5. if__name__=’__main__’

直接运行.py文件, 则__name__的值是’__main__’;

而在import 一个.py文件后,__name__的值就不是’__main__’了;

从而用if __name__ == ‘__main__’来判断是否是在直接运行该.py文件。

标准模块

1. Python标准库,主要包括:操作系统接口、文件通配符、系统模块、字符串正则匹配、数学、互联网访问、日期和时间。

2. 存放位置: Python/lib

3. os—操作系统接口

4. glob—文件通配符

5. sys—系统模块

6. re—字符串正则匹配

7. urllib—互联网访问

8. datetime—日期和时间

1. 包就是文件夹,但是该文件夹下必须存在__init__.py文件。

2. 导入包: 仍然使用import,from…import语句

3. 从*导入: import*这样的语句理论上希望文件系统找到宝中所有的子模块。

4. 包内导入

from . import reverse # 同级目录 导入 reverse

from .. import frormats # 上级目录 导入 frormats

from ..filters import equalizer # 上级目录的filters模块下 导入 equalizer

第三方库

1. 安装第三方库: easy_install和pip(推荐使用)

2. 通常第三方库都会在Python官方的pypi.python.org中注册,找到库的名字即可通过pip install 安装。

3. 离线安装: pthon setup.py install。

面向对象

类和实例

1. 面向对象最重要的就是类(Class)和实例(Instance),类是抽象的模板,而实例则是根据类创建出的一个具体的对象,每个对象都有相同的方法,但各自的数据可能不同。

2. 实例

创建实例是通过类名+()实现的。May = Student() ,可以自由的给实例绑定属性,但是相同类的其他实例是没有这样的属性的。

3. __init__构造函数

__init__方法的第一个参数永远是self,表示创建实例的本身,因此在__init__方法内部,就可以把各个属性绑定到self指向创建的实例本身。

有了__init__方法,在创建实例的时候,就不能传入空的参数,必须传入与__init__方法匹配匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去。

4. 私有变量

Python中定义私有变量,命名规则为前缀加两个下划线”__”。

封装

“封装”就是将抽象得到的数据和行为相结合,形成一个有机的整体;封装的目的就是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是通过外部的接口,特定的访问权限来使用类的成员。

继承和多态

1. Python类的继承

class Child(Person): # Child 继承 Person

2. isintance()以及issubclass()

isinstance()用于检查实例类型;

issubclass()用于检查类继承。

3. Python类的多态

多态的好处就是,当我们需要传入更多的子类,我们只需要继承 Person 类型就可以了,而方法既可以直不重写,也可以重写一个特有的。这就是多态的意思。调用方只管调用,不管细节,而当我们新增一种Person的子类时,只要确保新方法编写正确,而不用管原来的代码。

4. 子类重写构造函数

子类没有构造函数,表示同父类构造一致;子类也可以重写构造函数。

5. 多重继承

异常处理

标准异常

参考链接: http://www.cnblogs.com/feeland/p/4453574.html

捕捉异常

try: 需要捕捉异常的代码片段。

except: 捕捉某一模块的异常,须带异常模块名称,可带原因参数。一个try可以对应多个except语句。

else: else只可在所有except字句之后,且只有一个;其语句为所有except字句均没有发生异常的情况下执行。

finally: 无论异常发生与否,捕获与否都会执行的代码,可做清理行为。

抛出异常

当程序出现错误,Python会自动引发异常,也可以通过raise强制引发异常。一旦执行了raise语句,raise后面的语句将不会执行。

自定义异常

通过创建一个新的异常类,用户可以自定义异常。异常应该是典型的继承自Exception类,通过直接或间接的方法。自定义异常使用raise语句引发,而且只能通过人工方式触发。

IO流

文件夹及文件操作

1. Python使用os和shutil模块操作文件目录。

2. os可以执行简单的文件夹和文件操作,import os。

3. shutill模块提供了大量的文件的高级操作,特别针对文件拷贝和删除。主要功能为目录和文件操作以及压缩操作,import shutil。

4. 常用操作

判断路径或文件: os.path.exists(…)

路径名、文件名分割: os.path.split(…)

工作目录及创建文件夹操作: os.mkdir(…)

删除文件、文件夹: os.rmdir(…)

重命名文件、文件夹: os.rename(…)

复制、移动文件: os.copyfile(…)

文件读写

1. open(),close(),with open(…)as…

打开关闭之后一定close()关闭流。

2. file对象,内置属性(closed,mode,encoding,name,..)

3. read(),read(size),readline(),readlines()

4. write()

来自为知笔记(Wiz)

附件列表

  • Python基础总结.png

转载于:https://www.cnblogs.com/aniudcs/p/6f3248e104f2095d1b5c5083707c651d.html

Python学习笔记(八)相关推荐

  1. 【懒懒的Python学习笔记八】

    面向对象编程是最有效的编程方法之一,在面向对象编程中,你编写表示现实世界中事物和情景的类,并基于这些类来创建对象.使用类来创建对象被称为实例化. 创建和使用类 使用类可以模拟任何东西.下面的实例编写一 ...

  2. Python学习笔记(八)爬虫基础(正则和编解码)

    知识点 正则 正则匹配url,引用re库,将需要匹配的字段用(.*?)来匹配,可以匹配任何字符串.如果有换行,可以用如下方式解决: 1. ([\s\S]*?) 2. re.findall(reg,ht ...

  3. python学习笔记八(集合)

    集合 set是一个无序的不重复元素序列. 用大括号或set()函数创建集合.注意:创建一个空集合用set(),不用{},{}用来创建空字典 basket = {'apple','orange','ap ...

  4. Python学习笔记总结

    了解了python语言后,决定以后使用python来进行各项工作,因此一直想要深入学习python.千里之行始于足下,万事开头难. 由于最近在准备写毕业论文,陆陆续续学习了Python的语法知识. P ...

  5. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  6. python3第三方库手册_python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑...

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  7. ROS学习笔记八:创建ROS msg和srv

    ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...

  8. 【免费分享编程笔记】Python学习笔记

    Python学习笔记~编程小哥令狐 文章目录 Python学习笔记~编程小哥令狐 一.Python运行发生情况 二.变量 2.1变量引入前说明 2.2变量的命名和使用 2.3字符串 2.3.1使用方法 ...

  9. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

最新文章

  1. Nlpir大数据知识图谱的落地指南
  2. pku3661 Running
  3. 计算机进桌面后反复重启,我的电脑一插网线就自动重启。到界面之后又马上重启。一直循环。...
  4. 项目管理---SVN,Subversion的安装,客户端和服务端
  5. efs文件解密软件_免费数据恢复软件排行榜Top10!
  6. 服务器动态上下线监听案例
  7. [Swustoj 24] Max Area
  8. 35. PHP 字符串
  9. 配置sysklogd 接收远程系統日志
  10. 小米手机Root的过程及解决Unable to get view server version from device问题
  11. select update delete
  12. Java实现AVL树
  13. Unicode(ASII)控制字符的含义
  14. 有些人认识了,就是一辈子的福份
  15. 体育馆预约系统java_基于JAVA WEB的高校体育场地预约管理系统(计算机毕业设计)...
  16. 如何翻译DeepFaceLab(DeepFake)的交互式合成器
  17. SODA10M 数据集下载记录
  18. 公益数字化蓝图及核心逻辑
  19. Go语言爱好者周刊:第 142 期
  20. 【Matlab作业】MATLAB语言基础

热门文章

  1. 你知道怎么分库分表吗?如何做到永不迁移数据和避免热点吗?
  2. 如何合理地估算线程池大小?
  3. SpringBoot第六篇:springboot整合mybatis
  4. 会刷编程竞赛题的AlphaCode来了!
  5. 数据分析利器Jupyter Notebook!
  6. 剑指offer_第12题_数值的整数次方
  7. 机器学习拓展知识(数学/统计/算法)
  8. PostgreSQL专题
  9. 强强联合!Papers with Code 携手 arXiv,上传论文、提交代码一步到位
  10. 那个14岁上大学、17岁读博、24岁当教授的天才神童,如今怎么样了?