导入单个类

随着不断添加类,可能会使文件变得很长,那么此时,需要将类存储在模块中,然后在主程序导入类即可

book.py

class Book():
'''模拟一本书'''
def __init__(self,name,page,year):
self.name = name
self.page = page
self.year = year
def get_describe_book(self):
'''返回书读的描述信息'''
long_name = str(self.year)+' page '+str(self.page)+' '+self.name
return long_name

my_book.py

from book import Book
my_book = Book('Pride and Prejudice',352,1796)
print(my_book.get_describe_book())

上面的代码中,from book import Book即为从book模块导入类Book

在一个模块中存储多个类

虽然同一个模块中的类之间应存在某种相关性,但是可以根据需要在一个模块中存储任意数量的类

class Woman():
'''描述一个女人'''
def __init__(self,name,age):
self.name = name
self.age = age
def describe(self):
return ("My name is " + self.name + " and I'm "+str(self.age)+"years old" )
class Man():
'''描述一个男人'''
def __init__(self,name,age):
self.name = name
self.age = age
def describe(self):
return ("My name is " + self.name + " and I'm "+str(self.age)+"years old" )

从一个模块中导入多个类

导入上述文件中Woman与Man类

from people import Man,Woman
Alice = Woman('Alice',32)
print(Alice.describe())
Alice = Man('zhangsan',23)
print(Alice.describe())

导入整个模块

上面导入类非常的麻烦,你得知道这个模块中类的名字才可以导入,为了便捷,我们可以直接导入整个类

import people
Alice = people.Woman('Alice',32)
print(Alice.describe())
Alice = people.Man('zhangsan',23)
print(Alice.describe())

同时也可以使用:from people import *(不推荐使用)

如果A模块依赖B模块,B模块依赖C模块,那么可以先将C导入到B模块,然后再导入到A模块

【Python】导入类的更多相关文章

  1. Python中导入类

    python导入类与导入函数,模块基本一样,一个模块fun,其中包含三个类 class Dog(): def __init__(self,name): self.name=name def bark( ...

  2. python 类 --导入类

    导入类 1.1.导入单个类 如何导入单个类 以上一节为例,编写一个car.py程序 编写一个新程序my_car.py 希望在my.car.py文件中直接使用car.py中的函数,使用from car ...

  3. Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  4. Python的类的下划线命名的区别

    首先,单下划线开头,这个常被用于模块中,在一个模块中以单下划线开头的变量和函数被默认当做内部函数,如果使用from  module  import  *导入时,这部分变量和函数不会被导入.注意,如果使 ...

  5. python入门-类(二)

    1 关于类的导入 可以把类封装到1个文件中 1个文件中也可以封装多个类 在导入的时候可以导入单个,也可以导入多个类,也可以全部导入类 car.py """一个可以用于表示 ...

  6. Python菜鸟之路:Python基础-类(1)——概念

    什么是类? 在python中,把具有相同属性和方法的对象归为一个类(class).类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化.类不代表具体的事物,而对象表示具体的事物. 类的创建 cla ...

  7. python:类5——Python 的类的下划线命名有什么不同?

    首先是单下划线开头,这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_module import * 导入时,这部分变量和函数不会被导入.不过值得注 ...

  8. Python导入模块的几种方法

    Python 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代 ...

  9. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

随机推荐

  1. Newton 插值法

    定义 $f(x)$ 关于 $x_0, x_1, \dots, x_k$ 的 $k$ 阶均差(差商)记做 $ f [x_0, x_1, \dots, x_k] $,均差是递归定义的,有两种等价定义 \b ...

  2. 关于可图化序列的一点结论 NEU 1429

    Graphic Sequence A graphic sequence is a sequence of numbers which can be the degree sequence of som ...

  3. 【CCF】除法 树状数组

    [AC] #include<iostream> #include<math.h> #include<cstring> using namespace std; ty ...

  4. POJ2771 Guardian of Decency

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5513   Accepted: 2319 Description Frank ...

  5. LOJ#2083. 「NOI2016」优秀的拆分

    $n \leq 30000$的字符串,问其所有子串的所有AABB形式的拆分有多少种.$t \leq 10$组询问. $n^3$过80,$n^2$过95,鬼去写正解.. $n^2$:先枚举一次算每个位置 ...

  6. H5 <audio> 音频标签自定义样式修改以及添加播放控制事件

    H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: ...

  7. Servlet乱码解决

    后端收前端 1.post乱码 可以通过 request.setCharacterEncoding("utf-8");  这样在后端可以接收中文 2.get乱码(手动解决) 可以通过 ...

  8. poj 3623 Best Cow Line, Gold 后缀数组 + 贪心

    题目链接 题目描述 对于一个给定的字符串,可以从左右两端取字符,依次排列构成一个新的字符串. 求可能构成的字符串中字典序 最小的一个. 例:ACDBCB -> ABCBCD 思路 参考自 xue ...

  9. mac 重置mysql root密码

    1. 关闭mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 如果出现Starting mysqld daemon with d ...

  10. Ubuntu14.04 LTS安装docker

    有以下几种方式: 1. 通过系统自带包安装(可能不是最新版) $ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln - ...