人工智能实践:linux 和 python 基础简介

时间:2021-07-18 16:08:14

linux下的目录

绝对路径:是以根目录(" / ")为起点的完整路径,以你所要到的目录为终点。

相对路径:是你当前的目录(" .")为起点的路径,以你所要到的目录为终点。

使用 cd 目录名 进到指定目录,如果指定的“目录名”是

.    表示当前目录

..   表示当前目录的上一级目录

-    表示上一次所在目录

~   表示当前用户的 home 目录(即刚login时所在的目录) 比如:

cd ..      返回上级目录

cd../..   返回上两级目录

cd ~    进入用户主目录 home 目录

python基础语法

转义字符

\t  表示 tab    。

\n   表示 换行 。 \ ” 表示 ” 。

%s 占位,用%后的变量替换。

列表、元组、字典

列表

列表 [  ]

c = [1,2,3,4,5,6,7]

d = [”张三”,”李四”,”王五”]

e = [1,2,3,”4”,”5”,d]

用列表名[ 索引号 ]索引列表中的元素 ,d[0]表示列表d中的第零个元素“张三”。

用列表名[起 : 止]表示切片,从列表中切出相应的元素,前闭后开。

c[0:2] 切出 [1,2]

c[ : ] 切出 [1,2,3,4,5,6,7]

用列表名[起 : 止: 步长]   带步长的切片,步长有方向。

c = [1,2,3,4,5,6,7]

切出 [5,4,3,2] 用 c[4 :0 :-1]

切出[5,4,3,2,1]用 c[4 ::-1]

切出 [6,4,2] 用 c[-2 ::-2]  从倒数第二个开始一直切到头,步长-2

修改:列表名 [ 索引号 ] = 新值

删除:del 列表名[ 索引号 ]

插入: 列表名.insert(插入位置索引号,新元素)

元组

元组( ),一旦定义不能改变

f=(1,2,3)

字典

字典 {   }

字典里放着 {键:值, 键:值, 键:值}  n个键值对

dic={1:”123”,”name”:”zhangsan”,”height”:180}

用字典名[键 ] 索引字典中的值     dic[”name”] 表示字典dic中键”name”对应的值”zhangsan”

修改:字典名 [ 键 ] = 新值

删除:del字典名[ 键 ]   插入:字典名[ 新键 ] = 新值

条件语句

1、if   条件成立  :

执行任务

2、if   条件1成立  :

执行任务1

else :

执行任务2

3、if   条件1成立 :

执行任务1

elif  条件2成立 :

执行任务2

elif  条件n成立 :

执行任务n

else :

执行任务n+1

逻辑关系

==      等于

!=     不等于

>       大于

>=     大于等于

<       小于

<=    小于等于

and   与

or     或

循环语句

1、for  变量  in range (开始值,结束值):

执行某些任务

其中的括号内的开始、结束值也为前闭后开区间 。

2.for  变量  in   列表名:

执行某些任务

3.while  条件  :

执行某些任务

函数、模块、包

1、函数(function):组织好的,可重复使用的,用来实现单一或相关联功能的代码段。比如之前用过的 input()就是一个函数,可以直接使用函数,不用每次重新定义如何从控制台接收输入,所以函数是帮助实现代码复用的。

2、定义函数:def    函数名   (参数表):

函数体

括号里的参数如果不需要可以为空 。

3、使用函数:函数名(参数表)

模块

模块(module):是一个 Python 文件,以.py结尾,包含了Python函数等语句。先导入,再使用,用模块.函数名调用。

变量作用域 

局部变量:在函数中定义的变量,只在函数中存在,函数执行结束不可再用。

全局变量:在函数前定义的变量,一般在整个代码最前面定义,全局可用。

类的定义

类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。物以类聚人以群分,类是可实例化出对象的模具。

如果有父类,写在类名后面的括号里;如果没有父类,可以不写括号了。用关键词pass占个位置,之后再用具体函数把类补充完整。

实例化:对象 =  类 ()

对象:是类实例化出的实体,对象实实在在存在,完成具体工作。

面向对象:程序员反复修改优化类,类实例化出对象,对象调用类里的函数执行具体的操作。

class 类名 (父类名) :

pass

类里定义函数时,语法规定第一个参数必须是self 。

对象调用类里的函数,用对象.函数名;对象调用类里的变量,用对象.变量名。

类内定义函数时,如调用自身或父类的函数与变量,须用self.引导,应写为self.函数名或self.变量名。

Python中虽然没有访问控制的关键字,例如private、protected 等等。但是,在Python编码中,有一些约定来进行访问控制。 单下划线、双下划线、头尾双下划线说明:

_foo: 以单下划线开头的表示的是protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。、

__foo__: 头尾双下划线定义的是特列方法,类似 __init__() 之类的。

文件操作

文件写:

>>> import pickle
>>> game_data={"position":"N2 E3","pocket":["key","knife"],"money":160}
>>> save_file=open("save.dat","wb")
>>> pickle.dump(game_data,save_file)
>>> save_file.close()

文件读:

>>> import pickle
>>> load_file=open("save.dat","rb")
>>> load_game_data=pickle.load(load_file)
>>> load_file.close()
>>> load_game_data
{'pocket': ['key', 'knife'], 'money': 160, 'position': 'N2 E3'}