Python语法梳理

  人工智能实践:Tensorflow笔记(2)

Posted by     Keyon                      on March 21, 2018

基础语法点

运算符:+ - * / %

运算顺序:先乘除 再加减 括号最优先

变量,就是一个标签,由非数字开头的字母、数字、下划线组成,它的内容可 以是数值、字符串、列表、元组和字典。

数值,就是数字。

字符串,就是用一对儿双引号、或单引号引起来的内容,只要被引号引起来, 就是字符串了。

转义字符:

  • \t 表示 tab
  • \n 表示换行
  • \ ” 表示 ”

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

列表、元组、字典

列表 [ ]

用列表名[ 索引号 ]索引列表中的元素

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

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

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

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

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

元组 ( )

誓言 ,一旦定义不能改变

字典{ }

字典里放着 {键:值, 键:值, 键:值}

用字典名[ 键 ] 索引字典中的值

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

删除:del 字典名[ 键 ]

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

条件语句

if 条件成立 : 
	执行任务
if 条件1成立 : 
	执行任务 1
else :
	执行任务 2 
if 条件1成立 :
	执行任务 1
elif 条件2成立:
	执行任务 2 
		┊
elif 条件n成立: 
	执行任务 n
else : 
	执行任务 n+1

注:Python 代码是使用四个空格的缩进表示层次关系的

逻辑关系:

  • == 等于
  • != 不等于
  • < 小于
  • <= 小于等于
  • and 与
  • or 或

循环语句

for 变量 in range (开始值,结束值): 
	执行某些任务

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

for 变量 in 列表名: 
	执行某些任务
while 条件 : 
	执行某些任务

终止循环用 break

turtle 模块

代码 注释
import turtle 导入 turtle 模块
t = turtle.Pen ( ) 用 turtle 模块中的 Pen 类,实例化出一个叫做 t 的对象
t.forward (像素点) 让 t 向前走多少个像素点
t.backward (像素点) 让 t 向后走多少个像素点
t.left (角度) 让 t 左转多少角度
t.right (角度) 让 t 右转多少角度
t.reset ( ) 让 t 复位

函数、模块、包

函数(function):组织好的,可重复使用的,用来实现单一或相关联功能的代码段。

定义函数:

def 函数名 (参数表):

	函数体

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

函数返回值: return

内建函数:python解释器自带的函数

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

包:包含有多个模块

变量作用域:

  • 局部变量:在函数中定义的变量,只在函数中存在,函数执行结束不可再用。
  • 全局变量:在函数前定义的变量,一般在整个代码最前面定义,全局可用。

类、对象和面向对象的编程

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

实例化: 对象 = 类 ()

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

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

上面的类是下面类的父类;下面类是上面类的子类

子类实例化出来的对象,可以使用自身和父类的函数与变量

类的定义:


class 类名 (父类名) : 

	pass
	

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

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

__init__函数,在新对象实例化时会自动运行,用于给新对象赋初值。

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

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

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

文件操作

文件写操作:

  • 开:文件变量 = open(”文件路径文件名”, ”wb”
  • 存:pickle.dump(待写入的变量,文件变量)
  • 关:文件变量.close()

文件读操作:

  • 开:文件变量 = open(”文件路径文件名”, ”rb”)
  • 取:放内容的变量 = pickle.load(文件变量)
  • 关:文件变量.close()