Tensorflow学习笔记【2020.9.6】


一、函数

用户自定义函数:
def 函数名 (参数列表):
      函数体

1.多元赋值语句:(同时获取多个返回值)

def add_mul(a,b):
    add=a+b
    mul=a*b
    return add,mul

x,y=add_mul(5,6)
print("add=%d,mul=%d"%(x,y))   #输出为add=11,mul=30

假设代码中局部变量和全局变量名相同,则在函数内,只有局部变量有效

2.参数的默认值

当没有调用函数的时候没有赋值的时候,函数内的形参为默认值,而当有赋值的时候,此时的默认值失效

**当一个函数有多个参数的时候,设置的默认值必须从右边开始
example:

def add_mul(a,b=6):
    add=a+b
    mul=a*b
    return add,mul

x,y=add_mul(5)
print("add=%d,mul=%d"%(x,y))#输出为add=11,mul=30
x,y=add_mul(5,7)
print("add=%d,mul=%d"%(x,y))#输出为add=12,mul=35

3.列表和字典作为变量时

在函数内部对列表或者字典的元素所作的修改,会改变实参的值
ex:

def add(lst):
    for i in  range(len(lst)):
        lst[i]=lst[i]-2
    return lst
list_2=[2,3,45,6]
print(add(list_2))   #输出为[0, 1, 43, 4]

二、模块、包和库

1.基本概念

1)模块

      模块是一个python文件(.py),拥有多个功能相近的函数或类。便于代码复用,提高变成效率,提高了代码的可维护性,避免函数名和变量名的冲突

2)包

      为了避免模块名冲突,Python引入按目录来组织模块的方法。一个包对应一个文件夹,将功能相近的模块(Python文件),放在同一个文件夹下

在作为报的文件夹下有一个__init__.py文件
子包:子目录中也有__init__.py文件
实例

3)库

      具有相关功能的模块或包的集合

2.基本操作

1)导入模块/包/库

import 名称 as 别名
为了以后更加便利的去调用

import numpy as np
np.random.random()

一般的导入顺序是
python 标准库
python 第三方库
自定义模块

一般的调用形式为:
模块名.函数名

3.面向对象的编程

1.类

1)声明类:

class 类名:
类属性=初值
     方法(参数列表)         #参数列表里面的第一个必须是self
   (self,参数1,参数2,……)

ex:

class Person:    #类名首字母大写
    money=10000   #类里面的属性和方法名首字母使用小写字母
    def say_hello(self);
        print('hello')

2)创建对象

对象名=类名()

class Person:
    money=10000
    def say_hello(self):
        print('hello')

zhangsan=Person()
print(zhangsan.money)
zhangsan.say_hello()

zhangsan拥有Person类中所有的属性和方法

3)删除对象

del zhangsan

4)添加属性

添加的属性只存在添加的那个对象中,对于其他的对象则无
ex:

class Person:
    money=10000
    def say_hello(self):
        print('hello')
zhangsan =Person()
zhangsan.major="cool"
print(zhangsan.major)
lisi=Person()
print(lisi.major)

输出:

cool
Traceback (most recent call last):
  File "e:/File_/deep learning/Code/diao.py", line 9, in <module>
    print(lisi.major)
AttributeError: 'Person' object has no attribute 'major'

lisi中没有添加major这个属性,所以报错

2.构造函数和析构函数

1)构造函数:

在创建对象时,用来完成初始化操作(例如赋初值)
__ init __(self,参数1,参数2,参数3,……)

2) 析构函数:

在清除对象时,回收和释放对象所占用的资源
__ del() __

ex:

class Person:
    def __init__(self,name,age,gender='男'):
        self.name=name
        self.age=age
        self.gender=gender
    def __del__(self):
        print('bye bye from:',self.name)
    def printInfo(self):
        print('姓名:',self.name,'年龄:',self.age,'性别: ',self.gender)

      
zhangsan =Person('张三',122)
lisi=Person('李四',23,'女')
zhangsan.printInfo()
lisi.printInfo()
del zhangsan
del lisi

输出:在这里插入图片描述

3.继承

子类能够继承父类中所有的非私有的成员变量和成员函数
class 子类名(父类名)
     类属性=初值
     方法(参数列表)
ex:

class Person:
    money=23423
    def hello():
        print('hello man!')

      
class Student(Person):
    pass

amy=Student()
print(amy.money)
Student.hello()

输出:

23423
hello man!

四.文件

1.打开文件

文件对象=open(文件名,访问模式)
文件名:文件路径
访问模式:
在这里插入图片描述

2.关闭文件 .close()

3.读取文件read(字节数) / readline(字节数)【只输出文本中的一行】

文件对象.read(字节数)
字节数为总共输出几个字符
ex.

f=open("E:/File_/deep learning/text/mypython.txt")
print(f.read(3))
f.close()

4.写入文件 write(写入内容)

首先要确保open()函数的访问模式是支持写入的,不然会报错

f=open("E:/File_/deep learning/text/mypython.txt",'w')
f.write('w ri ni ma')
f.close()

5.异常处理try-except

在这里插入图片描述

在这里插入图片描述

try:
    aList=[0,1,2]
    print(aList[3])
    print('try语句块继续执行中……')
except IndexError as e:
    print(e)
    print ("异常已处理")

print('程序继续执行')

输出:

list index out of range
异常已处理
程序继续执行

finally子句

在这里插入图片描述
finally语句块的内容是无论如何一定会执行的语句块,一般都将关闭文件,清除资源的操作放在这个语句块中
ex:

try:
    print("try语句块开始")
    f=open('c:/test/txt')
    print("try语句块结束")
except IOError as e:
    print("except子句")
    print(e)
finally:
    print("finally子句")
    f.close()

输出:

try语句块开始
except子句
[Errno 2] No such file or directory: 'c:/test/txt'
finally子句

六.上下文管理

with语句(可以替代try-finally语句)

利用with语句打开文件就不许要额外的关闭语句的函数了,因为本身就已经包含了关闭文件的操作
ex:

with open('E:\File_/deep learning/text/mypython.txt')as f:
    print(f.read())

with语句

对于那些事先需要设置,事后需要做清理工作的操作,可以利用with使其方便处理
with 上下文管理器表达式[as 变量]:
      语句块

__ enter __() 方法和 __ exit __()方法,定义在 类 中
ex:

class File():
    def __init__(self,filename,mode):
        print("执行init()方法")
        self.filename=filename
        self.mode=mode
    def __enter__(self):
        print("执行enter()方法")
        self.f=open(self.filename,self.mode)
        return self.f
    def __exit__(self,*args):
        self.f.close()
        print("执行exit()方法")

with File('E:\File_/deep learning/text/mypython.txt','r')as f:
    print(f.read())

输出:

执行init()方法
执行enter()方法
w ri nima
执行exit()方法

总结

这两天把Python的基础语法都过了一遍,为后面学习tensorflow打下基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值