机器学习框架学习笔记 -python的基础语法

402 阅读3分钟

机器学习框架scikit-learn学习笔记 (1)

juejin.cn/post/684490…


在这篇文章中我主要想写两个方向

  1. python的基础语法
  2. 库的函数命令

python的基础语法

IPython 和 Jupyter Notebooks 快捷键 




Tab代码补全

按下Tab,会搜索已输入变量(对象、函数等等)的命名空间:

 Jupyter Notebooks 和别的编译器是一样的可以用<tab>键来进行代码补全的。


?号

在变量前后使用问号?,可以显示对象的信息:

 


在函数前后使用问号?,可以显示对函数的信息:


??号

使用 ?? 会显示函数的源码: 



魔术命令



注释

任何前面带有井号#的文本都会被Python解释器忽略。



isinstance 函数

检查对象是某个类型

#使用方法
a = 5
isinstance(a, int)

isinstance(a,(int , float))
#可以用类型元组,检查对象的类型是否在元组中


getattr 函数

通过名字访问属性和方法

#使用方法
getattr(a,'split')


引入

想使用别的文件里面的变量和函数的话

import 函数/变量名
from 函数/变量名 import 数值
import 函数/变量名 as 缩写/任意名


is 方法

要判断两个引用是否指向同一个对象,可以使用 is 方法。 is not 可以判断两 个对象是不同的。

	a	=	[1,	2,	3]
	b	=	a
	c	=	list(a)
	a	is	b 
	a	is	not	c 


运算


变量类型

str 函数

许多Python对象使用 str 函数可以被转化为字符串

a	=	5.6
s	=	str(a)
print(s) 
5.6


 format 方法

字符串对象有 format 方法,可以替换格式化的参数为字符串,产 生一个新的字符串

函数名.format(4.5560,	'Argentine	Pesos',	1) 
#浮点数,字符串,整数都可以替换


 decode 方法

如果你知道一个字节对象的Unicode编码,用 decode 方法可以解码

函数名.decode('utf-8') 


datatime模块

Python内建的 datetime 模块提供了 datetime 、 date 和 time 类 型

from datetime import datetime , data , time 
dt = datetiome(2019,7,15,12,07)


strftime 方法

 strftime 方法可以将datetime格式化为字符串

dt.strftime('%m/%d/%Y %H:%M')


strptime 方法

strptime 可以将字符串转换成 datetime 对象

datetime.strptime('20091031',	'%Y%m%d') 



range函数

range函数返回一个迭代器,它产生一个均匀分布的整数序列

range(10) 
range(0,10)
#range的三个参数是(起点,终点,步进)

seq=[1,	2,3,4] 
for i in range(len(seq)):
        val=seq[i]

tuple方法

用 tuple 可以将任意序列或迭代器转换成元组

tuple([4,0,2]) 
tup = tulpe('string')
tup[0]#查询

 

list函数

list 函数常用来在数据处理中实体化迭代器或生成器

gen = range(10)
lsit(gen)


append函数

可以用 append 在列表末尾添加元素

b_list.append('dwarf')


insert函数

 insert 可以在特定的位置插入元素

b_list.insert(1,'red')


pop函数

insert的逆运算是pop,它移除并返回指定位置的元素

b_list.pop(2)


remove函数

可以用 remove 去除某个值, remove 会先寻找第一个值并除去

b_list.remove('foo')


in函数

用 in 可以检查列表是否包含某个值

‘dwarf’ in b_list

not in #也是可以的


extend函数

如果已经定义了一个列表,用 extend 方法可以追加多个元素

x= [4,None,'foo']
x.extend([7,8,(2,3)])


sort函数

 sort 函数将一个列表原地排序(不创建新的对象)

a = [7,2,5,1,3]
a.sort()


 bisect 模块

bisect 模块支持二分查找,和向已排序的列表插入值。 bisect.bisect 可以找 到插入值后仍保证排序的位置, bisect.insort 是向这个位置插入值

import bisect 
c = [1,2,2,2,3,4,7]
bisect.bisect(c,2)
bisect.insort(c,6)


切片

用切边可以选取大多数序列类型的一部分,切片的基本形式是在方括号中使 用 start:stop

seq = [7,2,3,7,5,6,0,1]
seq[1:5]


未完待续