深度学习中遇到的Python问题(四)
2018-03-28 19:16
375 查看
1. glob.glob()
该方法的功能与Linux中的ls相似,接受一个Linux式的文件名格式表达式(filename pattern expression),列出所有符合该表达式的文件(与正则表达式类似),将所有文件名放在一个表中返回。所以glob.glob()是一个查询目录下文件的好方法。
在读取图片名称常用到。
2. os.path.basename()
就是返回最后一份目录的名字。
3.以下划线命名变量
“单下划线”
“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和自类对象自己能访问到这些变量。
例子:以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入。
“双下划线”
“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
例子:以双下划线开头的(foo)代表类的私有成员;以双下划线开头和结尾的(__foo)代表python里特殊方法专用的标识,如 init()代表类的构造函数。
4.@property
https://blog.csdn.net/u013205877/article/details/77804137
5.assert
python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
batch_size的值不能大于所有样本的总数。
使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。
5.isinstance
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
a. type() 不会认为子类是一种父类类型,不考虑继承关系。
b. isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
a = 2
isinstance (a,int)
True
isinstance (a,str)
False
isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
type() 与 isinstance()区别:
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
该方法的功能与Linux中的ls相似,接受一个Linux式的文件名格式表达式(filename pattern expression),列出所有符合该表达式的文件(与正则表达式类似),将所有文件名放在一个表中返回。所以glob.glob()是一个查询目录下文件的好方法。
path = os.path.join(train_path, fields, '*g') files = glob.glob(path)
在读取图片名称常用到。
2. os.path.basename()
返回一个目录的基名 Returns the final component of a pathname os.path.basename("/etc/sysconfig/selinux") 'selinux' os.path.basename("/usr/local/python3/bin/python3") 'python3'
就是返回最后一份目录的名字。
3.以下划线命名变量
“单下划线”
“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和自类对象自己能访问到这些变量。
例子:以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入。
“双下划线”
“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
例子:以双下划线开头的(foo)代表类的私有成员;以双下划线开头和结尾的(__foo)代表python里特殊方法专用的标识,如 init()代表类的构造函数。
4.@property
https://blog.csdn.net/u013205877/article/details/77804137
5.assert
python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
assert batch_size <= self._num_examples
batch_size的值不能大于所有样本的总数。
使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。
5.isinstance
if isinstance(validation_size, float):
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
a. type() 不会认为子类是一种父类类型,不考虑继承关系。
b. isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
a = 2
isinstance (a,int)
True
isinstance (a,str)
False
isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
type() 与 isinstance()区别:
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
相关文章推荐
- 深度学习中遇到的Python问题(三)
- 深度学习中遇到的Python问题(二)
- 深度学习python库安装经验,Windows下安装Anaconda3 pycharm tensorflow keras theano中遇到的问题
- Python学习中遇到的问题(更新中...)
- ubuntu 15.04 搭建caffe深度学习环境流程及遇到的问题
- import与from xx import遇到的一点问题-python学习
- python学习中,list/tuple/dict格式化遇到的问题
- python学习中遇到问题
- 学习python基础语法中遇到的一些问题
- 学习python遇到的问题
- Python学习遇到的问题
- 深度学习开发环境搭建遇到的问题及解决方案
- Python学习笔记:学习爬虫时遇到的问题TypeError: cannot use a string pattern on a bytes-like object 与解决办法
- 学习python中遇到的问题(1)
- ubuntu 15.04 搭建caffe深度学习环境流程及遇到的问题
- 机器学习实战中遇到的python问题
- Python 学习中遇到的各种问题
- python学习中遇到的问题
- Python学习爬虫中遇到点问题
- 学习python 遇到的第一个问题 :过滤列表