Python基础——持续完善

目录

一、       表达式

二、       原始字符串

三、       条件分支

四、       类型转换

五、       逻辑操作符

六、       断言

七、       循环

八、       range()函数

九、       列表

十、       元组 tuple

十一、       字符串

十二、       格式化format()函数

十三、       列表、元组、字符串的共有方法

十四、       函数与过程

十五、       内嵌函数和闭包

十六、       匿名函数

十七、       递归

十八、       迭代

十九、       字典

二十、       集合

二十一、       深层复制和浅层复制

二十二、       文件

二十三、       模块

二十四、       异常处理

二十五、       常见函数的用法

1、     sorted

2、     strip()函数

3、     split()

4、     np.where(condition)

5、     np.where(condition, x, y)

6、     intersect1d(x,y)

7、     read、readline、readlines的区别

8、     X[:]

9、     figure()函数

10、       shape()函数

11、       tile()函数

12、       np.where用法

13、       endswith() 方法

14、       *的用法

15、       zip()函数

二十六、       python中的常用库

二十七、       Python中的常见关键字

二十八、       numpy.array()

 -----------------------------------------------------------------------------------------------------------------------------------------------------

 一、   表达式

//表示整除

**表示次方
and表示且

not表示否

or表示或

二、   原始字符串

三、   条件分支

1、if/elif/else语句
if x==A:
        …
elif x==B:
        …
else:
        …
2、单行的if/else语句

四、   类型转换

注意:浮点数转化为整数采用截断处理,如:

a=5.99

b=int(5.99)

则b=5

 

 

 

 

//执行的是float除法,即整数除整数是整数,浮点数除其他是浮点型数。

**:幂运算

五、   逻辑操作符

 

 

 

 

elif=else if

 

六、   断言

 

七、   循环

 

 

 

 

八、   range()函数

 

 

 

 

 

 

 

九、   列表

在存储的多个数据两侧加上中括号就是list

把一个字符串使用split之后返回来的类型就是列表,例如:

 

 

 

 

如果要把英语句子拆成字母所组成的列表,就是用list()

 

 

 

 

列表中可以存放不同的数据,也可以存放列表

 

 

 

 

 

 

 

 

 

 

类似数组一样获取列表元素

 

 

 

 

删除元素:remove()

十、   元组 tuple

元组tuple的使用方法和list基本上是差不多的,许多list上的操作方式以及方法也都可以应用在tuple上,但是tuple的内容是无法修改的,所以list中的只要涉及到修改列表内容的,就不能在tuple变量上应用。

    设置tuple类型的变量使用的是小括号,但是要取出tuple中的元素值,还是要中括号才行。

 

 

 

 

十一、    字符串

 

1、在字符串的前后添加三个引号,接下来的内容就会完全按照原有的排版格式存放到字符串变量中。

十二、    格式化format()函数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

十三、    列表、元组、字符串的共有方法

 

(1)、min()

(2)、max()

(3)、sum()

(4)、sorted()

(5)、reversed()

(6)、

 

(7)、

 

(8)、

 

十四、    函数与过程

 

 

 

 

 

 

 

 

 

 

 

 

 

14、函数中的收集参数

 

 

 

 

 

 

 

Python的所有函数都有返回值

 

 

 

变量的作用域,全局变量和局部变量

十五、    内嵌函数和闭包

global关键字可以使编译器让一个局部变量变成全局变量

 

 

 

 

函数闭包

 

 

 

 

十六、    匿名函数

使用关键字lambda

 

两个重要的内置函数(bif)

(1)、filter过滤器,通过指定方法过滤数据,如果给定的是None,则过滤False

 

(2)、Map()

 

十七、    递归

十八、    迭代

1、map(执行用的函数,容器变量)

 

2、filter:协助用来过滤元素的迭代函数,它会把每一个元素逐一拿出来交由第一个参数中所指定的函数计算,再根据结果是True或False来决定此元素要不要留下来

 

十九、    字典

键值对

要让变量成为字典类型,只要使用{}大括号或者设置为dict()函数。

字典中的变量没有顺序的概念,所以加入的顺序和实际显示的顺序可能不太一样。字典中的主要组成是键和值,键值提取方法如下:

week.keys()、week.values()

 

有一些在list中可以使用的函数(如len计算个数、max返回最大值、min返回最小值),在list上都可以使用。

 

 

 

 

 

 

 

formkeys()方法:创建一个新的字典

访问字典的方法:keys()、values()、item()、get()

 

 

 

 

 

 

 

字典赋值用”=”浅层赋值,用copy()深层赋值

popitem()随机弹出一个数据

setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

二十、    集合

集合set也是通过{}来设置数据的,但和list不同之处在于,如果单纯的使用一个空的{}来给变量赋值,变量的类型将会认定为list,如果在大括号中只有值没有键,就会被视为list。

python中的集合运算:&且,|或,,^异或

集合中的元素也可以是不同的类型,元素本身没有顺序的概念,同一个元素只能在集合中出现一次。

集合中的每个数据是唯一的

集合不支持索引

 

 

 

 

 

 

 

 

 

 

不可变集合

frozenset()函数:

 

二十一、     深层复制和浅层复制

使用=复制是浅层复制,没有创建新的空间;使用copy()函数是深层复制,创建了新的空间。

 

    对于基本的类型(如整型、浮点型以及字符串)不会有此种情况发生。

 

二十二、     文件

对磁盘文件进行操作,涉及到下面几个重要的内建模块,即os.path、glob、os.walk、os.system以及shutil。

22.1、os.path

 

 

 

 

22.2、glob

glob通过glob.glob(“路径名称”)就可以获取一个文件列表,而路径名称中可以使用通识符,以方便找出个组合的文件.

 

 

 

 

22.3、os.walk

 

 

 

 

with语句可以使程序编写得更加简洁,离开with之后自动会帮我们关闭相关的内容,就不需要再主动使用close()了:

二十三、     模块

1、OS模块

记住要导入:import os

 

 

 

 

 

 

 

 

 

 

2、pickle模块

将对象转换成二进制文件

3、 sys模块

sys.argv: 实现从程序外部向程序传递参数。

sys.exit([arg]): 程序中间的退出,arg=0为正常退出。

sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。

sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )

sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.

sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

sys.platform: 获取当前系统平台。

sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

 

二十四、     异常处理

AssertionError

断言语句(assert)失败

AttributeError

尝试访问未知的对象属性

 

IndexError

索引超出序列的范围

 

KeyError

字典中查找一个不存在的关键字

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用raise引出一个异常

 

while…else语句

 

try…else语句

 

with的用法

 

二十五、     常见函数的用法

1、sorted

 

2、 strip()函数

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列(字符序列中的字符匹配即可,无需顺序一样)。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

3、 split()

通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

4、 np.where(condition)

 

5、 np.where(condition, x, y)

 

6、 intersect1d(x,y)

返回集合x,y的交集并排序

7、 read、readline、readlines的区别

read(size):从文件当前位置起,读取size字节的数据。如果没有指定size,则表示读取值文件结尾为止。

readline():顾名思义就是每次读取一行的数据。

readlines():读取文件的所有行数据。

8、 X[:]

X[1:]:取出X中第1位到最后的内容(位是从0开始的,下同)

X[:,0]:取每一行的0号元素

X[:,1]:取每一行的1号元素

X[n,:]:取第n行的所有数据

X[:,m:n]:取每一行数据的第m到n列(含左不含右)。

9、 figure()函数

 

 

 

10、     shape()函数

是查看矩阵的维数

11、     tile()函数

它的功能是重复某个数组

 

 

 

 

 

12、     np.where用法

np.where有两种用法

1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y

2.np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的坐标,返回的是以元组的形式

13、     endswith() 方法

用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

str.endswith(suffix[, start[, end]])

14、     *的用法

利用 * 号操作符,可以将元组解压为列表

15、     zip()函数

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

二十六、     python中的常用库

1、pandas

pandas 是python的一个数据分析包

用法:

一、生成数据表

(1)首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:

import numpy as np 
import pandas as pd

(2)导入CSV或者xlsx文件:

df = pd.DataFrame(pd.read_csv(‘name.csv’,header=1)) 
df = pd.DataFrame(pd.read_excel(‘name.xlsx’))

二、数据表信息查看

1、维度查看:

df.shape

2、数据表基本信息(维度、列名称、数据格式、所占空间等):

df.info()

3、每一列数据的格式:

df.dtypes

4、某一列格式:

df[‘B’].dtype

5、空值:

df.isnull()

6、查看某一列空值:

df.isnull()

7、查看某一列的唯一值:

df[‘B’].unique()

8、查看数据表的值:

df.values

9、查看列名称:

df.columns

10、查看前10行数据、后10行数据:

df.head() #默认前10行数据 
df.tail() #默认后10 行数据

三、数据表清洗

1、用数字0填充空值:

df.fillna(value=0)

2、使用列prince的均值对NA进行填充:

df[‘prince’].fillna(df[‘prince’].mean())

3、清楚city字段的字符空格:

df[‘city’]=df[‘city’].map(str.strip)

4、大小写转换:

df[‘city’]=df[‘city’].str.lower()

5、更改数据格式:

df[‘price’].astype(‘int’)

6、更改列名称:

df.rename(columns={‘category’: ‘category-size’})

7、删除后出现的重复值:

df[‘city’].drop_duplicates()

8、删除先出现的重复值:

df[‘city’].drop_duplicates(keep=’last’)

9、数据替换:

df[‘city’].replace(‘sh’, ‘shanghai’)

二十七、     Python中的常见关键字

1、raise

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

def mye( level ):

    if level < 1:

        raise Exception("Invalid level!")

        # 触发异常后,后面的代码就不会再执行

try:

    mye(0)            # 触发异常

except Exception as err:

    print(1,err)

else:

    print(2)

二十八、     numpy.array()

numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)

创建一个array

参数:

object:array_like一个数组,任何物体露出阵列接口,一个对象,其__array__方法返回一个数组,或任何(嵌套)序列。

DTYPE:data-type,可选。所需的数据类型为阵列。如果没有给出,则类型将被确定为持有的序列中的对象所要求的最低的类型。这种说法只能用来“向上转型”的阵列。对于向下转换,使用.astype(t)的方法。

copy:BOOL,可选。如果为true(默认值),那么对象被复制。否则,副本将仅当__array__返回副本,如果obj是一个嵌套序列,或者做出是否需要拷贝,以满足任何其他要求(DTYPE,订单等)。

order:{'C','F','A'},可选。指定数组的顺序。如果命令是'C',那么阵列将在C-连续顺序(上次指数变化最快的)。如果命令是'F',则返回的数组将是FORTRAN连续顺序(先指数变化最快的)。如果命令是'A'(默认),然后返回数组可以是任意顺序(无论是C-,Fortran的连续的,甚至是不连续的),除非需要一个副本,在这种情况下,这将是C-连续的。
subok:BOOL,可选。如果为True,则子类将被传递,通过,否则返回数组将被迫成为一个基类数组(默认)。
ndmin:INT,可选。指定结果数组应有尺寸的最小数目。的将根据需要来满足这一要求被预先挂起到的形状。
返回:out:ndarray满足规定要求的数组对象。

posted @ 2020-01-31 18:16  SupremeBoy  阅读(302)  评论(0编辑  收藏  举报