Python教程10

Python教程10

  1.模块

    说明:前4个文件代码块分别是

error.jun_03_module1
# -*-coding:utf-8-*-
# 定义全局变量
title = "模块1"

# 函数
def say_hello():
    print("我shi %s" % title)

# 类
class Dog(object):
    pass
error.jun_03_module2
# 全局变量
title = "模块2"

# 函数
def say_hello():
    print("我是 %s" % title)

# 类
class Cat(object):
    pass
error.jun_03_module3
# -*-coding:utf-8-*-
# 全局变量
title = "模块3"

# 函数
def say_hello():
    print("我是%s" % title)

# 类
class Person(object):
    pass
error.jun_03_module4
# -*-coding:utf-8-*-
def say_hello():
    print("你好,你好,我是 say hello")

print("小明开发的模块")
say_hello()
print(__name__)  # 如果在本文件中执行则结果是__main__,在导入文件jun_o3_import_module执行结果就
# 是error.jun_03_module4(即此文件的模块名)

#正常开发测试模块处理:
if __name__=="__main__":
    print("本模块的测试,在导入文件里不会输出")
error.jun_03_import_module
# -*-coding:utf-8-*-
"""
模块:模块是python程序结构的一个核心概念
每一个扩展名py结尾的python源代码文件都是一个模块
模块名同样是一个标识符,需要符合标识符的命名规则
在模块中定义的全局变量,函数,类都提供给外界直接使用的工具
模块就好比是工具包,要使用这个工具包,就需要先导入这个模块
"""
# 模块导入示例:
# error是一个Python 包,jun_03_moduleX等是模块名
import error.jun_03_module1
import error.jun_03_module2 as Jun3  # 可以取别名,简化操作

error.jun_03_module1.say_hello()
Jun3.say_hello()

dog = error.jun_03_module1.Dog()
print(dog)

cat = Jun3.Cat()
print(cat)

"""
从一个模块中,导入部分工具,可以使用from ... import的方式
from 模块名 import 工具名
导入所有的工具:from 模块名 import * (不推荐使用)
导入后,不需要通过模块名.来调用函数,类或者全局变量,可以直接使用
"""
# 从error.jun_03_module3模块导入say_hello方法
# 注意如果是两个同名的函数或者类,全局变量等,采用此方法导入,后导入
# 的会替换先导入的,开发时导入代码建议在文件顶部

from error.jun_03_module3 import say_hello

# from error.jun_03_module3 import say_hello as module_say_hello 冲突可以取别名区分
say_hello()  # 直接使用,不需要模块名.来调用

# 模块的搜索顺序,
# 首先会在当前的工作目录下,搜索指定模块,不能找到,然后搜索系统目录(所以,建议命名模块名不要和系统模块名重名)
import random

rand = random.randint(0, 10)
print(rand)
print(random.__file__)  # 查看导入的random模块的位置

"""
开发中,每一个文件都应该可以被导入的。导入时,文件中所有没有任何缩进的代码都会被执行一遍!
"""
print()
print("导入时,文件中所有没有任何缩进的代码都会被执行一遍!测试。。。")
import error.jun_03_module4
print("-"*50)
"""
1.针对以上问题:开发中,如果文件有测试代码,而在导入文件中,不想执行原文件的测试代码(即没有缩进的
代码)可以采取__name__属性。
2.__name__时一个内置属性,记录着一个字符串,如果在导入文件里,__name__就是模块名,
如果在被导入文件里执行时__name__是__main__。这里我们写在error.jun_03_module4模块里
"""

原文地址:https://www.cnblogs.com/jun1/p/9944416.html

时间: 2024-08-24 23:17:35

Python教程10的相关文章

简明 Python 教程:总结

 简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容都是注释 3. Python至少应当有第一行那样的特殊形式的注释.它被称作组织行——源文件的头两个字符是#!,后面跟着一个程序.这行告诉你的Linux/Unix系统当你执行你的程序的时候,它应该运行哪个解释器. #!/usr/bin/python 4. Linux/Unix用户适用:chmod命令用来改变文件

Python教程:操作数据库,MySql的安装详解

各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习Python相关文章,请移步:Python开发实战系列教程-链接汇总,持续更新. 数据库的应用在软件开发领域是重重之重.大量数据和配置被保存在数据库中以被使用.如果想开发一套软件系统与数据库是分不开的.发展到现在,各类数据库应需求而生:关系型与非关系型.单机与分布式.文件型内存型等等. 对于关系型数据

【转帖】简明 Python 教程

简明 Python 教程   下一页 简明 Python 教程 Swaroop, C. H. 著 沈洁元  译 版本:1.20 A Byte of Python Copyright © 2003-2005 Swaroop C H 简明 Python 教程 <简明 Python 教程>为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 2005 沈洁元 本书依照 创作公用约定(署名-非派生作品-非商业用途) 发布. 概要 无论您刚接触电脑还是一个有经验

简明Python教程(四)———用户登录验证

例子: 实现目标,用Python编写用户登录验证脚本. 知识点: 1.while和if控制流 2.运算表达式 验证过程: 脚本: #!/usr/bin/env python#filename : User login authentication#import sysname = 'Tiger'passwd = '123456'counter = 0times = 3while True:                         #-----------无限循环 username = r

【转】简明 Python 教程

原文网址:http://woodpecker.org.cn/abyteofpython_cn/chinese/ 简明 Python 教程Swaroop, C. H. 著沈洁元  译www.byteofpython.info 版本:1.20 A Byte of Python Copyright © 2003-2005 Swaroop C H 简明 Python 教程 <简明 Python 教程>为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 200

《简明 Python 教程》笔记

<简明 Python 教程>笔记 原版:http://python.swaroopch.com/ 中译版:https://bop.mol.uno/ 有 int.float 没 long.double.没 char,string 不可变. help 函数 如果你有一行非常长的代码,你可以通过使用反斜杠将其拆分成多个物理行.这被称作显式行连接(Explicit Line Joining)5: s = 'This is a string. \ This continues the string.'

Python教程1

Python教程1 1.print #-*-coding:utf-8-*- print("Hello python") # 这是单行注释 print("Hello Hello") print("你好吗") # 这是单行注释 """" 这是一个多行注释 .... .... 注释结束了 """ print("hello 全世界") 2.算数运算符 运算符 描述

Python教程2

Python教程2 1.if 比较关系运算符 运算符 描述 == 检查是否相等 != 检查是否不等 > 检查是否左操作数大于右操作数 < 检查是否左操作数小于右操作数 >= 检查是否左操作数大于或等于右操作数 <= 检查是否左操作数小于或等于右操作数   python2.x中不等于还可以用<>运算符 逻辑运算符 与 and    或 or    非 not # -*-coding:utf-8-*- age = int(input("请输入你的年龄:"

Python教程8

Python教程8 1.多态 # -*-coding:utf-8-*- """ 1.封装:根据职责将属性和方法封装到一个抽象的类中 2.继承:实现代码重用,相同的代码不需要重复编写 3.多态:不同的子类对象调用相同的父类方法,产生不同的执行结果 (多态可以增加代码的灵活度,以继承和重写父类方法为前提,是调用方法的技巧 不影响到类的内部设计) """ class Dog(object): def __init__(self, name): self