即将放弃python的app_python放弃之 模块和包

import

print('frrom the my_module.py')

money=1000

def rend1():

print('my_my_module->reand1->money',money)

def rend2():

print('my_module->read2 calling read1)

read1()

def change():

global money

money=0

模块可以包含可执行语句和函数的定义,这些语句的目的是初始化模块

只能在模块名第一次次遇到导入import语句才执行

(import语句是可以在程序送任意位置使用的,且针对同yige

模块和import多次,为了防止你重复导入,是

python 优化的手段:第一次导入就加载到内存了

后面的import只是增加了一次引用)

为模块名起别名,相当于m1=1;m2=m1

1 import my_module as sm

2 print(sm.money

#mysql.py

def sqlparse():

print('from mysql sqlparse')

#oracle.py

def sqlparse():

print('from oracle sqlparse')

#test.py

db_type=input('>>: ')

if db_type == 'mysql':

import mysql as db

elif db_type == 'oracle':

import oracle as db

db.sqlparse()

包是一种通过使用‘.模块名’来组织python模块名称空间的方式。

1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法

2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录)

3. import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件

强调:

1. 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错

2. 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包即模块

1.关于包相关的导入语句也分为import和from ... import ...两种,但是无论哪种,无论在什么位置,在导入时都必须遵循一个原则:凡是在导入时带点的,点的左边都必须是一个包,否则非法。可以带有一连串的点,如item.subitem.subsubitem,但都必须遵循这个原则。

2.对于导入后,在使用时就没有这种限制了,点的左边可以是包,模块,函数,类(它们都可以用点的方式调用自己的属性)。

3.对比import item 和from item import name的应用场景:

如果我们想直接使用name那必须使用后者

有两中sql模块mysql和oracle,根据用户的输入,选择不同的sql功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 安装gitlab

gitlab 类似github,可以用来管理代码。当然除了他们两个还有很多代码管理的工具,国内的也有。我这篇文章就只讲gitlab的安装过程。但是gitlab并不是轻量级的东西,占用大概4~8G的内存,特别是merge的代码比较多的时候,占…

一些常用的linux命令(2)

参考:http://www.cnblogs.com/laov/p/3541414.html 系统管理命令 stat 显示指定文件的详细信息,比ls更详细 who 显示在线登陆用户 whoami 显示当前操作用户 hostname 显示主机名 uname 显示系统信…

迭代

迭代 文章目录迭代内置可迭代对象 range()内置函数使用 map(函数加对象)函数定义与参数定义传参作用域函数参数传值可迭代对象支持迭代协议 遍历循环 因为 迭代协议 方法—next—()函数next消耗内存小所占空…

python os renames_Python3 os.renames() 方法

概述os.renames() 方法用于递归重命名目录或文件。类似rename()。语法renames()方法语法格式如下:os.renames(old, new)参数old -- 要重命名的目录new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。返回值该方法没有返回值实例…

普通人的节奏

在立春当夜,这南方城市的上空响起了2020年的第一声春雷,大家都期待着这一声霹雳除去一切霉噩,带来万象更新。之后的天气逐渐变好,近日来更是风和日丽。前日,去采购食品和日用品,久不出门,趁好天…

DDD领域模型自动生成?

我不想写代码,只想通过界面配置一下就能自动生成代码多好,如果界面也能自动生成,那就更好了转载于:https://www.cnblogs.com/PerfectBeauty/p/7351849.html

函数与lambda

文章目录参数匹配将形参赋值(关键字匹配)默认位置匹配解包在元组前加*函数传递字典表,使用**解包字典表两种声明法lambda表达式初学者逻辑采用字典表可以实现委托map函数把列表对象每一个拿出来放入函数中进行迭代后放入新的列三种方式filter…

还没学python_2个月过去了!还没学会python?用《流畅的python》15天带你学会

学了很久python,还是完全没有思路自己学了很久的python,还是感觉没学到什么,出现这样的情况的python学习者有很多,只是大多都是放弃了!出现这样的原因主要有以下三点:1、没有人带领,遇到问题解决…

Linux内核奔溃分析

前言最近遇到一个kernel奔溃的问题,错误日志开头一部分如下:[ 355.2624510] Unhandled fault: external abort on non-linefetch (0x008) at 0xfe004328 [ 355.2645470] Internal error: : 8 [#1] PREEMPT SMP ARM [ 355.2696320] Modules linked in:…

DataGridView带图标的单元格实现

目的: 扩展 C# WinForm 自带的表格控件,使其可以自动判断数据的上下界限值,并标识溢出。 这里使用的方法是:扩展 表格的列 对象:DataGridViewColumn。 1.创建类:DataGridViewDecimalCheckCell.cs public cl…

包与模块管理及面向对象初步

模块 文章目录模块指令原因步骤搜索范围加目录面向对象编程封装实现初始化函数![在这里插入图片描述](https://img-blog.csdnimg.cn/20200201081513814.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80M…

spring生命周期七个过程_Spring杂文(三)Spring循环引用

众所周知spring在默认单例的情况下是支持循环引用的Appconfig.java类的代码Configurable ComponentScan("com.sadow") public class Appconfig { }X.java类的代码Component public class X {AutowiredY y;public X(){System.out.println("X create");} }Y.…

Linux 系统中的dvfs功能

前言最近硬件的同事需要我们提供的版本能动态调频,何为动态调频呢?对于CPU来讲,功耗和性能是一对不可调和的矛盾,通过调整CPU的电压和频率,可以在功耗和性能之间找一个平衡点。由于调整是在系统运行的过程中&#xff0…

python是面向对象还是过程_python编程:面向对象与过程是什么?

编程任何一个要素的学习都是基于更方便,更快捷,更效率而存在的,当然面向对象也一样,针对这部分知识,大家可以浏览以下内容,看完即懂。先来看一组示例:面向过程思维:把大象装进冰箱需…

Android系统下内存使用情况与监测

(0). Android/Linux 内存分配的两个重要策略.Linux 在分配内存时, 为了节省内存, 按需分配, 使用了延时分配以及Copy-On-Write 的策略.延时分配即针对user space 申请memory 时, 先只是明面上的分配虚拟空间, 等到真正操作memory 时, 才真正分配具体的物理内存, 这个需要借助…

node进阶| 解决表单enctype=multipart/form-data 时获取不到Input值的问题

今天在学习node踩到一个坑:form设置enctype"multipart/form-data"上传文件时,无法获取到表单其他input的值。 因为之前上传文件用的是 formidable 方法1:formidable (无法获取其他input的值) 引包 app.js v…

错误异常处理 小数格式化,取证与四舍五入 random处理 日期与时间常用操作

异常处理 文章目录异常处理语法错误语义错误逻辑错误异常处理finallytryecceptfinallyraise测试unittest测试组织代码常用断言方法是否正确存在约等于判断是否应用判断是否为空判断是否为某型实例判断大于类与测试装置setup函数teardown函数小数格式化,取证与四舍五…

什么是内存泄漏?

在wikipedia这样解读内存泄漏的:在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就…

python cx_oracle配置_python连接oracle的模块cx_Oracle安装和配置

下载相应版本的cx_Oracle安装cx_Oracle-5.1.2-11g-py24-1.x86_64.rpm,其他版本类似,rpm -ivh cx_Oracle-5.1.2-11g-py24-1.x86_64.rpm安装简单,但需要配置下面的环境变量和软连接在/etc/profile,添加export LD_LIBRARY_PATH/usr/lib/oracle/…

requests库之处理响应

response对象: http状态码 利用response把流存储成图片或者文件 一个下载图片的实例 import requestsdef download_pic():#headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36…