目录
1.
- 运算符 + - * / %
- 运算顺序 先乘除 再加减 括号最优先
- 变量 由非数字开头的字母、数字、下划线组成,其内容为数值、字符串、列表、元组、字典
- 数值 即数字 a = 100
- 字符串 用单引号或者双引号引起来的内容
- 转义字符 \t表示tab、\n表示换行
- 占位符 用%s占位,用%后的变量进行替换
例如:
a = 100
b = "Hello World!"
print("point = %s\n\"%s\""%(a,b))
应打印出:
point = 100
"Hello World!"
2、列表[]
c = [1,2,3,4,5,6,7]
d = [“张三”,“李四”,“王五”]
e = [1,2,3,“4”,“5”,d] 有数值,有字符串
- 用列表名[索引号]索引列表中的元素
d[0] = “张三”
- 用列表名[起:止]表示切片,从列表中切出相应的元素 前闭后开
c[0:2]
切出[1,2]
c[:]
切出[1,2,3,4,5,6,7] 从头切到尾 - 用列表名[起:止:步长] 带步长的切片,步长有方向
c[4:0:-1]
切出[5,4,3,2]
c[4::-1]
切出[5,4,3,2,1]
c[-2::-2]
切出[6,4,2] c[-2::-2] 从倒数第二个开始一直到头,步长为-2 - 修改
列表名[索引号] = 新值
- 删除
del 列表名[索引号]
- 插入
列表名.insert(插入位置索引号,新元素)
- 扩充
要使用append 或者 extend
例:
# 错误的list扩充方式 会报错
a=[]
for i in range(0,5):
a[i]=i
# IndexError: list assignment index out of range
# 正确的list扩充 append
a=[]
for i in range(0,5):
a.append(i)
3、元组()
特点:一旦定义就不能改变
f=(1,2,3)
4、字典{}
- 字典里面放着{键:值,键:值,键:值} n个键值对
dic = {1:"123","name":"zhangsan","height":180}
- 用字典名[键]索引字典中的值
dic["name"] = 'zhangsan'
- 修改
字典名[键] = 新值
- 删除
del 字典名[键]
- 插入
字典名[新键] = 新值
输入中文时一定要在文件开头加上
#coding:utf-8否则出现编码错误
2.条件语句
- if elif else
- python语句用左对齐表示代码层次
- or 或 不用|
- and 与 不用&
- = 、<= 、> 、< 、!= 、==
3.循环语句
- for 变量 in range(开始值,结束值):
执行某些任务
range 为前闭后开区间 - for 变量 in 列表名:
执行某些任务 - while 条件:
执行某些任务 - 终止循环用break
- 循环嵌套多个for或者while
4.函数、模块、包
4.1 函数
- 函数 执行某些操作的一段代码
input() - 定义函数
def 函数名(参数表):
函数体
- 使用函数: 函数名(参数表)
例子:
定义: def hi_name(yourname):
print ("Hello %s"%yourname)
使用: hi_name("zhangsan")
输出: Hello zhangsan
- 函数返回值
def add(a,b):
return
c = add(5+6) #c被赋值add的返回值11
- 内建函数(python解释器自带的函数)
abs(-10) #返回10
4.2 模块
- 模块:函数的集合,先导入,再使用
使用方法:模块.函数名
import time
time.asctime()
#输出:现在的时间
4.3 包
- 包:包含有多个模块
from PIL import image
即从PIL包中导入image模块
2.6.4 变量的作用域
- 局部变量 在函数中定义的变量,只在函数中存在,函数执行结果不可再用
- 全局变量 在函数前定义的变量,一般在这个代码最前面定义,全局可用
5.面向对象的编程
- 类(命名时首字母通常大写)
是函数的集合,可实例化出对象的模具。
具有继承的关系,子类可以使用父类定义的函数与变量。 - 实例化
对象 = 类()
t = turtle.Pen()
- 对象
类实例化出的实体,对象实实在在存在,完成具体工作。
例如:上面的t即为对象 - 面向对象
我们反复修改优化类,类实例化出对象,对象调用类里面的函数执行具体的操作。 - 类的定义
class 类名(父类名): #父类名只用写一个父类即可,不用写父类的父类等等
pass
- 类里定义函数时,规定第一个参数必须是self
例:
class Animals:
def breathe(self):
print "breathe"
def move(self):
print "moving"
class Mammals(Animals):
def breastfeed(self)
print "feeding young"
class Cats(Mammals):
def __init__(self,spots):
self.spots = spots
- __ init __函数,在新对象实例化时会自动运行,用于给新对象赋初值
例:
kitty = Cats(10) #实例化时默认自动运行__init__函数,给spots赋值,告知kitty有10个斑点
print kitty.spot #打印出10
对象调用类里的函数,用对象.函数名;对象调用类里的变量,用对象.变量名
类内定义函数时,如调用自身或父类的函数与变量,须用self.引导,应写为self.函数名或self.变量名
例:
class Animals:
def breathe(self):
print "breathe"
def move(self):
print "moving"
class Mammals(Animals):
def breastfeed(self)
print "feeding young"
class Cats(Mammals):
def __init__(self,spots):
self.spots = spots
def catch_mouse(self):
print "catch mouse"
def left_foot_forward(self):
print "left foot forward"
def left_foot_backward(self):
print "left foot backward"
def dance(self):
self.left_foot_forward()
self.left_foot_backward()
运行:
kitty = Cat(10) #首先应该实例化
print kitty.spots
kitty.dance() #自己类的函数
kitty.breastfeed() #父类的函数
kitty.move() #父类继承其父类的函数
6. 文件操作(import pickle)
6.1 文件写操作
- 开:文件变量 = open(“文件路径文件名”,“wb”)
- 存:pickle.dump(代写入的变量,文件变量)
- 关:文件变量.close()
例:
game_data = {"position":"N2 E3","pocket":["keys","knife"],"money":160}
save_file = open("save.dat","wb") #写入二进制文件
pickle.dump(game_data,save_file)
save_file.close()
2.8.2 文件读操作
例:
load_file = open("save.dat","rb") #读出二进制文件
load_game_data=pickle.load(load_file)
load_file.close()
结果:
load_game_data = {"position":"N2 E3","pocket":["keys","knife"],"money":160}
- python实现批量修改图片尺寸,并保存指定路径
import os
from PIL import Image
filename = os.listdir("D:\picture")
base_dir = "D:\picture"
new_dir = "D:\picture_data"
size_m = 128
size_n = 128
for img in filename:
image = Image.open(base_dir + img)
image_size = image.resize((size_m, size_n),Image.ANTIALIAS)
image_size.save(new_dir+ img)