2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【机器学习】Python 快速入门笔记

【机器学习】Python 快速入门笔记

时间:2019-07-27 20:33:10

相关推荐

【机器学习】Python 快速入门笔记

Python 快速入门笔记

Xu An -3-7

1、Python print

#在Python3.X中使用print()进行输出,而2.x中使用()会报错print("helloworld")print('I\'mapple')#如果全部使用单引号,则需要在前面加上转义字符\+引号print('apple'+'pear')print('apple'+str(4))#将数字转换为字符串并打印print(int("1")+2)#将字符串转换为整数类型

2、pyhton数值运算

print(2**2)#幂运算为**print(10%3)#取余数为%print(9//4)#取整数为//

3、自变量定义

a,b,c=1,2,3#一次定义多个变量print(a,b,c)

4、while循环

condition=1whilecondition<10:print(condition)condition+=1

5、for循环(相当于迭代器)

x=1y=2z=3ifx<y<z:print("xislessthany")

6、if-else语句

ifx<y:print("x<y")else:print("x>y")

7、if-elif-else

ifx<y:print("x<y")elifx==y:print("")else:print("x>y")

8、函数定义

defadd(a,b):#在python中定义函数需要使用def()c=a+bprint("Thisistheresultoftheaddtion:",c)add(1,3)

9、默认函数参数

defcar(price,color='red',second_hand=True):#在函数参数后面加=“默认值”可以完成默认值的赋值#bool类型中的参数需要大写True、Flase#需要把默认参数放到变量的后面print('price',price,'color',color,'second_hand',second_hand,)car(1000)

10、变量类型

'''

(1)全局变量

在模块内、所有函数外、class外的变量,可以被全局共享,也可以被外部文件共享

全局变量使用时,需要使用global显式声明

如果不将全局变量更新,一般不需要加global声明

如果有重新赋值,又没有在函数内部使用global声明时,相当于在内部创建了一个同名的局部变量

同名局部变量优先级高于未显式声明的全局变量

'''

APPLE=10#全局变量需要在函数外部定义deftest10_01():globalAPPLE#在函数内部定义全局变量APPLE=20#在函数内声明的局部变量的优先级高于全局变量print(APPLE)test10_01()

'''

(2)局部变量

在函数内、class方法内(未加self修饰)

生命周期在函数执行时,当函数执行完毕后局部变量消亡

'''

deftest10_02():city='shijiazhuang'print(city)

'''

(3)静态变量(类变量)

通过类名直接访问,也可以通过实例名直接访问,变量在类中、实例间全局共享

'''

#classfoo:#all=0#defadd(self):#foo.q+=1#ins_1=foo()#实例化对象1#ins_2=foo()#实例化对象2#print(ins_1.all)#0#print(ins_2.all)#0#print(foo.all)#0#ins_1.add()#静态全局变量加1

'''

(4)实例变量

对于模块来说,拥有自己的全局变量,可以供自己内部的类,函数使用

对于类或者方法来说,有自己的局部变量,供自己内部使用

对于类,有了静态变量,可以供内部和有继承关系的父子使用

实例间各自的局部变量需要靠动态绑定多态实现

'''

classfoo_1:all=0def__init__(self,name):self.name=namedefadd(self):foo.q+=1

'''

(5)总结

私有变量:自己独享的变量,如函数和方法的局部变量,实例变量

公有变量:需要在一定范围内共享,达到同步的目的,如模块内的代码共享的全局变量,类与子类之间共享的静态变量

'''

11、文件写入

text="Thisismyfirsttext.\nThisisnextline\n"#使用\n表示换行,主要换行指令与C++一致print(text)my_file=open('1.txt','w')#open可以打开一个文件,open(‘文件路径’,‘形式’),形式w为可写形式,r为只读形式my_file.write(text)#在文件中写入相应的语句my_file.close()#切记在文件写入后要使用close方法关闭文件print('Fliewritingcompleted.')

12、文字内容追加

my_file=open('1.txt','a')#方式a是append的缩写,表示文件的追加模式append_text="thisisappenedtext"my_file.write(append_text)my_file.close()

# 13、读文件

my_file=open('1.txt','r')#r为读模式content=my_file.read()#读取文件内容需要使用read()方法second_read=my_file.readline()third_read=my_file.readline()#readline为逐行输出文字all_read=my_file.readlines()#逐行读取后会将读取的元素按行放置在一个列表中print(content,'second_read',second_read,'third_read',third_read,'all_read',all_read)

14、类(class)

classCalculator:#类一般为大写def__init__(self,name,price):#构造函数,在进行对象实例化时必须赋值,前面需要加上selfself.name=nameself.price=pricename="Calculator"price=10defadd(self,x,y):print(self.name)#如果要在类内调用本身的方法,需要加上self.属性名或self.方法名result=x+yprint(result)defminus(self,x,y):result=x-yprint(result)deftimes(self,x,y):result=x*yprint(result)defdevide(self,x,y):result=x/yprint(result)newcalulator=Calculator('name',10)print(newcalulator.name)

15、input

a_input=input('Pleasegivemeanumber:')#input的功能为输入,其后面的括号为提示信息,input的返回值为输入的内容(是str类型),并赋值给对应的参数int_input=int(a_input)#对字符串需要转换为int类型后进行判断ifint_input==1:print('yourinputis1')elifint_input==2:print('yourinputis2')else:print('yourinputnumberisother')

16、元组 使用小括号或者不使用括号

a_tuple=(1,2,3,43)#元组可以用小括号的形式,也可以不加小括号another_tuple=1,12,43,23forxina_tuple:print(x)

17、列表 使用中括号

a_list=[12,34,23,43]forxina_list:#将list的值使用for循环放到x中,之后打印出来print(x)forindexinrange(len(a_list)):#range()会生成一个迭代器,index为索引print("index=",index,'numberinlist=',a_list[index])a=[1,2,3,4,5]a.append(0)#在列表后面追加一个元素print(a)a.insert(1,0)#insert(添加位置,数值)a.remove(2)#remove(第一次出现的数值)print(a[3:5])a.index(1)#列表中第一次出现该数值的索引a.sort(reverse=True)#默认为从小到大进行排序,加入reverse则进行从大到小进行排序print(a)

18、多维列表

a=[1,2,3,4,5]multi_dim_a=[[1,2,3],[123,312,4],[12,43,1]]print(multi_dim_a[1][1])#使用[][]进行索引

19、字典 使用大括号

d={'apple':1,'pear':2,'orange':3}#冒号前面的为key,后面的为内容,字典的key唯一,如果不唯一则记住后面的元素,其不能是列表,以保证其唯一性要求print(d['apple'])#打印字典的值deld['pear']#从字典中删除元素d['b']=20#加入元素到字典print(d)#因为字典采用hash存储,所以字典是一个无序的容器

20、import模块

#方法一:#importtime#直接使用模块名进行后续操作#print(time.localtime())#方法二:#importtimeast#如果模块名太长可以使用简称#方法三:#fromtimeimportlocaltime只引入模块的某个功能#print(localtime())#如果使用本方法,可以不用写time.localtime,而直接写localtime()#方法四:fromtimeimport*#加*可以结束print(localtime())

21、引入自己的模块

#确保自己的模块(同为.py文件)和本文件在同一个目录下,#importm1#自己的模块名,其中定义了函数#m1.function()直接调用其函数即可,在macox中,其包目录在site-package中,如果将自建模块放入其中,则可以直接调用

22、break&continue

a=Truewhilea:b=input('Pleaseentersomething:')ifb!='':print('enterisnotblank')break

23、错误处理

try:File=open('12','r')exceptExceptionase:print('thereisnofilenamed12')response=input('doyouwanttocreatanewfile?(Y/N)')ifresponse=='y'or'Y':#逻辑运算符或or且and非notprint('thefileiscreated')else:pass#跳过

24、zip(将两个列表合并为一个列表项) lambda map

a=[1,2,3]b=[4,5,6]list(zip(a,b))#zip返回为一个对象,如果想将其可视化,需要将其转化为list进行合并fori,jinzip(a,b):print(i/2,j/2)#生成一个迭代器进行输出fun1=lambdax,y:print(x+y)fun1(2,3)deffun1(x,y):return(x+y)#实现参数绑定print(fun1,[1,3],[2,8])

25、shallow copy &deep copy

importcopya=[1,2,3]b=aprint(id(a))#输出变量的唯一id,是赋值,b只是将a的地址进行了复制,而没有进行实际的变量值的拷贝print(id(b))c=copy.copy(a)print('idofa:',id(a))print('idofc:',id(c))#浅拷贝,id不同,第一层空间地址不同,但是第二层空间(数组第二围)开始地址相同d=copy.deepcopy(a)print('idofa:',id(a))print('idofc:',id(d))#深拷贝,id不同,从第一层空间开始地址已经完全不同

# 26、threading 线程

# 27、multiprocessing 多核心

# 28、tkinter GUI界面

29、pickle 保存代码

importpickle#a_dic={'fruit':['apple','pear'],'vegetable':['tomato','cumcuber']}#file=open('pickle_exm.pickle','wb')#pickle.dump(a_dic,file)#file.close()#file=open('pickle_exm.pickle','rb')#a_dic=pickle.load(file)#将之前保存的代码打开#file.close()

#或者自动关闭方案

withopen('pickle_exm.pickle','rb')asfile:a_dic=pickle.load(file)

30、使用set寻找不同

char_list=['a','b','c','c']print(set(char_list))#使用set进行不同查找,输出结果为非重复序列,按hash排序sentence='welcometoshijiazhuang'print(set(sentence))#可以分辨句子中的不同字母,并以单个的形式呈现

#31、正则表达式(待补充)

importre#引入正则表达式pattern1="cat"pattern2='dog'string="dogrunstocat"print(pattern1instring)#使用in来判断单词是否在目标语句中#查找print(re.search(pattern1,string))#使用正则表达式进行查找,查找到的内容会被以对象的形式返回#匹配多种可能——使用[]print(re.search(r"r[A-Z0-9]n",'dogrunstothecat'))

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。