【TensorFlow学习笔记】基础篇(二)— —Python基础


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)
发布了28 篇原创文章 · 获赞 2 · 访问量 2813

猜你喜欢

转载自blog.csdn.net/Jarvis_lele/article/details/104975908
今日推荐