《tensorflow 笔记》学习记录第二节

说明:本文为 学习网课 《tensorflow笔记1.0》时所作笔记

环境安装按照《tensorflow笔记》前置课程安装。(乌班图16.04 python2.7 tf1.3)

2.1 Linux指令、hello world

桌面点击右键,选择open terminal 打开终端(快捷键为 ctrl+ alt + t )

linux简单命令
pwd打印当前在哪个目录
ls列出当前路径下的文件和目录
mkdir + 目录名新建目录
cd + 目录名   进到指定目录

  

   

在终端中输入 python : 运行python 解释器

python 基本概念
运算符-  *  /  %(加减乘除模)
运算顺序先乘除 在加减 括号最优先
变量就是一个标签,由非数字开头的字母、数字、下划线组成,他的内容可以是数值、字符串、列表,元组、和字典。
数值就是数字  。a = 100 ('100' 是字符串,不是数值)
字符串就是用一对双引、或单引号 引起来的内容,只要被引号引起来,就是字符串了。 b = "Hello World !" 

转义字符
\t表示tab
\n表示 换行
\"表示 “ (将引号本身 和 字符串 区别开)
%s占位,用%后的变量替换(具体见这位大佬的帖子https://blog.csdn.net/Leeeoplod/article/details/89243729)

                 

                 

例子如下

a = 100
b = "Hello World!"
print " point = %s \n\" %s\"" %(a,b)

打印出
point = 100
"Hello World!"

2.2列表,元组,字典

2.2.1列表 [ ]

c = [1, 2, 3, 4, 5, 6, 7]  d = [ "张三", ”李四“, ”王五“]  e = [1, 2, 3, '4', "5",d]

用列表名 【索引号】索引列表中的元素,(正向从0,反向从-1开始),如 d[0] 表示列表d中的第零个元素 ”张三“,d[-1] = "王五"

用列表名 【起:止】表示切片,从列表中切出相应的元素,前闭后开。起 止 的负号表示从列表尾部向前数。

如,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(插入位置索引号,新元素)

注意:

c = [1, 2, 3, 4, 5, 6, 7]
d = c 
#上面操作使得 c d 为同一个变量
#若要使 c d 为不同变量
#应使用 d = c[ : ], 即列表从头到尾的切片


#若使用 e = c[4:0:-1] ,则 e =[](空列表)

2.2.2 元组

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

例,f = (2, 3, 4)

2.2.3 字典

字典 { }

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

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

用字典名【键】索引字典的值

dic{"name"}表示dic中 键 ”name“ 的值 "zhangsan"

修改: 字典名 【键】= 新值      注意 这里用的 是【】 不是 {} ,下同

删除:del 字典名 [

插入: 字典名 【新键】= 新值 

2.3 条件语句

vim 文件名    (表示打开或新建文本)

# 新建一个叫做 c.py 的文件,如果文件存在,则打开文件 
vim c.py

在vim 中 点击 i 进入插入模式 可往文本里写内容       ,vim 其他用法可以参看网站,菜鸟教程(https://www.runoob.com/

”esc键“+ ":"+q     表示退出vim

”esc键“+ ":"+wq   表示退出vim并保存文档

”esc键“+ ":"+q!    表示退出vim但不保存文档

条件语句

if 条件成立

   执行任务

if 条件1成立

   执行1任务

else:

   执行任务2

if 条件1成立

   执行1任务

elif:

   执行任务2

         -

         -

         -

elif 条件n成立

    执行任务n

else:

   执行任务n+1

python 语句用左对齐表代码层次, 注意 # coding=utf-8 的 = 号两边不要空格

== 表示(测试)等于  ,and 表示与, or 表示 或。

2.4循环语句

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

    执行某些任务

# 注意 这里的开始值和结束值和2.2.1列表一样,是前闭后开的

for 变量 in 列表名:

   执行某些任务

while 条件:

   执行某些任务

终止循环用 break

2.5turtle 模块

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

2.6函数、模块、包

函数: 执行某些操作的一段代码。                  如 :input()

定义函数:   def  函数名 (参数表,可以没有参数):

                            函数体

使用函数: 函数名 (参数表)                        如:input("please input your class number:")

#定义函数
def hi_name (yourname):
    print "hello $s" %yourname

#使用函数
hi_name("zhangsan")

#输出
hello zhangsan

函数返回值:return

def add(a,b):
    return a+b

#调用
c= add(5,6)
#c被赋值为add 的返回值 11

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

abs(-10)                                                           返回 10,绝对值函数

模块: 函数的集合,先导入,再使用,用    模块.函数名   调用。

import time
time.asctime()

#输出
'Wed Jul 28 12:39:51 2021'

包: 包含有多个模块

#从一个包中导入一个模块
from PIL import image
变量作用域
局部变量:在函数中定义的变量,只在函数中存在,函数执行结束不可再用。
全局变量:在韩式前定义的变量,一般在整个代码最前面定义,全局可用。

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

类:物以类聚人以群分,是函数的集合(这里ppt应该错了,应该还有属性),可实例化出对象的模具。

实例化:对象 = 类()                            例如2.5中 t=turtle.Pen()

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

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

行为(函数、方法)
动物         Animals

呼吸    breathe

移动    move

吃        eat

哺乳动物  Mammals喂奶     breastfeed
猫            Cats捉老鼠  catch_mouse

上面的类是下面类的父类(又叫超类),下面是上面的子类。比如动物是哺乳动物的父类,猫是哺乳动物的子类

子类实例化出来的对象,可以使用自身和父类的函数和变量(变量又叫属性,使用父类的函数和变量叫继承)

类的定义 :

class 类名(父类名,如果没有父类则空):

        pass(这里的pass 为占位,替代类中的内容,无具体意义)

class Animals:

     pass

class Mammals(Animals):

     pass

class Cats(Mammals):

     pass

先用pass 占位置,起架构;再用具体的函数替换pass完善类。注意类名一般以大写字母开头

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

__init__函数(前后都是双下划线),在新对象实例化时会自动运行,用于给新对象赋初值。

将pass用 print 函数充填后的三个类

class Animals:

    def breathe(self):

         print "breathing"

   def move(self):

         print "moving"

   def eat(self):

         print "eating food"

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"

# 将毛类实例化出一个叫做 kitty的对象,kitty有自己的特征属性,比如身上有10个斑点
# 实例化时运行__init__函数,给spots赋值,告知kitty有10个斑点。
kitty = Cats(10)

# 打印 出kitty的spots 值为10
print kitty.spots

# kitty可以做具体的工作,比如捉老鼠:
# 对象运行函数,必须调用对象.函数名,调用类里的函数
kitty.catch_mouse()

# 会运行print "catch mouse" 故打印出catch mouse

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

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

class Cats( Mammals):

      def  __init__(self,spots):

            self.spots = spots

      def catch_mouse(self):

            print "catch mouse"

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()

     self.left_foot_forward()

     self.left_foot_backward()

原来的猫类                                      优化扩展后

# Kitty 实例化代码
class Animals:
     def breathe(self):
         print ("breathing")

     def move(self):
         print ("moving")

     def eat(self):
        print ("eating food")


class Mammals(Animals):
     def breastfeed(self):
          print ("feeding young")


class Cats(Mammals):
        def __init__(self,spots):
              self.spots = spots

        def catch_mouse(self):
            print ("catct 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_backward()
            self.left_foot_forward()
##
##
##
kitty = Cats(10)
kitty.dance()
print (kitty.spots)
kitty.catch_mouse()


#输出结果
# left foot backward
# left foot forward
# 10
# catct mouse



2.8 文件类操作

导入pickle 库: import pickle

开:         文件变量 = open(”文件路径文件名“,”wb")                  # open 函数细节可以参考菜鸟教程(https://www.runoob.com/

存:       pickle.dump(待写入的变量,文件变量)

关:      文件变量.close()

存的过程可以使用 

with  open(”文件路径文件名“,”wb")   as 文件变量

             pickle.dump(待写入的变量,文件变量)

这样可以让系统自动在不使用 文件时,自动关闭文件。取的过程类似。

开:         文件变量 = open(”文件路径文件名“,”wb")                 

取:       pickle.load(文件变量)

关:      文件变量.close()

python 中 文件存储还可以使用 json模块、shelve模块 、pprint.pformat()函数 等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值