python-模块

**1、模块:**模块好比工具包。要想使用这个工具包中的工具,就需要先导入这个模块
其中每一个以扩展名py结尾的python.源代码文件都是一个模块。

模块的导入方式:
(1)import导入
import 模块名1,模块名2(不推荐使用)
推荐使用下列方式,因为在导入模块时,每个导入应该独占一行
import 模块名1
import 模块名2
导入之后:通过模块名。使用模块提供的一些工具(比如说全局变量、函数、类)

import test_model1
import test_model2

test_model1.say_hell0()
test_model2.say_hell0()

#因为我们类是实例属性,要创建对象才可以
#创建对象需要在类名前面加上这个模块的名字
dog=test_model1.Dog ("小黑")
dog.nm()

cat=test_model2.Cat()
print(cat)

自己写的test_model1:

#全局变量
title="模块1"
#函数
def say_hell0():
    print("欢迎使用{}".format(title))
#类
class Dog(object):
    def __init__(self,name):
        self.name=name
    def nm(self):
        print("这只狗的名字叫{}".format(self.name))
# dog=Dog("小黑")
#这里只是创建了对象,还需要写一个方法的调用
#而init方法只是进行了一个初始化
# dog.nm()

自己写的一个简单test_model2:

#全局变量
title="模块2"
#函数
def say_hell0():
    print("欢迎使用{}".format(title))
#类
class Cat(object):
    pass

如果模块的名字太长,可以使用as指定模块的名称,以此方便代码中的使用。
格式:
import 模块名1 as 模块别名
(其中模块别名应该符合大驼峰的命名法则)

2、如果希望从某一个模块中导入部分工具可以使用from。。。import的方式
格式:from 模块名1 import 工具名

from test_model1 import Dog
from test_model2 import Cat

dog=Dog ("小黑")#相当于引入了dog类,
dog.nm()       # 所以直接在主函数创建对象和调用属性就可以了

cat=Cat()
print(cat)

这种可以直接使用模块提供的工具(像全局变量,函数,类)

注意:
如果两个模块中存在同名的函数,那么会执行最后导入的模块,即覆盖掉先导入的函数,所以在开发时,import 代码应该统一写在代码的顶部,更容易发现冲突,这种情况下,可以使用as关键字给其中一个工具起一个别名。

from test_model1 import say_hell0
from test_model2 import say_hell0

say_hell0()
欢迎使用模块2

改变方法:

from test_model1 import say_hell0 as model1_sayhello
from test_model2 import say_hell0

model1_sayhello()
say_hell0()
欢迎使用模块1
欢迎使用模块2

from 。。。import*
表示从模块导入所有工具,但这种方式不推荐使用

3、模块的搜索顺序
python的解释器在导入模块时,会:
搜索当前目录指定模块名的文件,如果有就直接导入,如果没有,在搜索系统目录。
因此在开发时,给文件起名,不要和系统模块文件重名。
下图中此时python文件中没有random.py,因此可以正常运行
在这里插入图片描述
然后我们自定义添加一个random,这时候程序会报错。
我们用内置属性—file—可以查看模块的完整路径,例如:

import random
print(random.__file__)

结果如下:

F:\python--study\basement\section5--functions\random.py

表示当前路径下的py文件。
这时我们点击右键选择delete,界面弹出提示信息,直接点删除。然后我们在运行刚刚的程序,结果如下:

E:\anaconda\lib\random.py

4、每一个文件都应该是可以被导入的。
一个独立的python文件就是一个模块
在导入文件,文件中所有没有任何缩进的代码都会被执行一遍。
比如:
主程序中:

import  test_model1

print("-*"*10)
test_model1.say_hell0()
dog=test_model1.Dog("小黑")
dog.nm()

结果如下:

这是一个test模块
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
欢迎使用模块1
这只狗的名字叫小黑

可以看出,不仅输出的test_model1中的函数与类,还输出了没有缩进的“这是一个test模块”
test_model1中:

title="模块1"

#函数
def say_hell0():
    print("欢迎使用{}".format(title))


#类
class Dog(object):
    def __init__(self,name):
        self.name=name
    def nm(self):
        print("这只狗的名字叫{}".format(self.name))
# dog=Dog("小黑")
#这里只是创建了对象,还需要写一个方法的调用
#而init方法只是进行了一个初始化
# dog.nm()

print("这是一个test模块")

那么有没有什么办法使得print(“这是一个测试模块”)这条语句仅在test_model1中使用。
——name——属性可以做到。
1、如果是在当前执行的程序(比如说test_model1中),–name–就是–main–

print(“__name__”)
结果为
__main__

2、如果是被其他文件(比如说main)导入的,–name–就是模块名
常用语句:
if name=“main”:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python-turtle模块Python语言的一个标准库,它是一个基于Tkinter的Python图形库,可以用来实现海龟绘图功能。Python-turtle模块使用海龟绘图语言来绘制图形,这种语言是由Seymour Papert在上世纪80年代发明的,旨在帮助儿童学习编程。Python-turtle模块提供了一种交互式的方式来绘制图形,比较适合初学者学习。 Python-turtle模块通过创建一个画布和一个海龟对象来实现图形绘制。画布是用来显示绘制的图形的窗口,海龟对象则是用来绘制图形的工具。Python-turtle模块中提供了许多绘图函数和方法,例如`forward()`、`backward()`、`right()`、`left()`、`circle()`等,可以用来绘制线条、形状、图案等。 Python-turtle模块不仅可以进行基本的绘图,还提供了一些高级绘图功能。例如,可以使用`t.begin_fill()`和`t.end_fill()`方法来填充图形,使用`t.penup()`和`t.pendown()`方法来控制画笔的起始和结束位置,使用`t.dot()`方法来绘制点等。 总的来说,Python-turtle模块是一个非常有用的工具,它可以帮助初学者了解图形绘制的基础知识,也可以用来进行简单的图像处理。在使用Python-turtle模块时,需要注意以下几点: 1. Python-turtle模块不是Python的内置模块,需要单独安装。 2. 在使用Python-turtle模块时,需要导入turtle模块。 3. 在创建海龟对象之前,需要先创建一个画布。 4. Python-turtle模块的绘图函数和方法非常多,需要仔细学习和理解。 5. 在进行图形绘制时,需要注意海龟对象的位置和方向。 综上所述,Python-turtle模块是一个非常有用的工具,可以帮助初学者学习图形绘制和编程基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值