python模块导入

  """
  1. 先从内存中查找
  2. 再从内置模块中查找
  3. 最后去环境变量sys.path中查找
  
  如果以上都找不到,直接报错!
  """
  
  # 以后再给文件名或者叫模块名起名字的时候一定不能跟内置模块名冲突
  
  """如果找不到,那就去sys.path中查找"""
  import sys
  print(sys.path)
  
  ['D:\\Python27\\day20', 'D:\\Python27\\day20', 'D:\\PyCharm 2021.1.3\\plugins\\python\\helpers\\pycharm_display', 'D:\\Python38\\python38.zip', 'D:\\Python38\\DLLs', 'D:\\Python38\\lib', 'D:\\Python38', 'C:\\Users\\oldboy\\AppData\\Roaming\\Python\\Python38\\site-packages', 'D:\\Python38\\lib\\site-packages', 'D:\\PyCharm 2021.1.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
  
  # 上面的列表中第一个元素永远是当前文件所在的路径
  
  
  以后遇到模块找不到的情况:
  	1. 把模块所在的路径添加到sys.path中
      	import sys
          sys.path.append(r'D:\Python27\day20\aaa\bbb')
      2. 使用from...import句式
      	from aaa.bbb.ccc import m1
          from aaa.bbb.ccc.m1 import f1
  
          f1()
          m1.f1()

相对导入和绝对导入

"""在导入模块的时候,模块的查找始终以执行文件所在的路径为准"""

绝对导入:
	它始终是以执行文件所在的sys.path路径为基准查找

相对导入:
	"""
		.(句点符)
		. 代表的是当前路径
		.. 代表的是上一级路径	
	"""
# 相对导入可以打破始终以执行文件及准的查找顺序
from .ccc import m2
from .ccc.ddd import m2

只要py文件中出现了相对导入语句(.开头的语句),那么,这个文件就不能当成执行文件了,只能被导入

包的使用

什么是包?
	就是文件夹,其实就是文件夹中包含了一些列的py文件(模块)
    # 包就是一些列模块的组合
包和模块有什么区别呢?
	包中有一个特殊文件:__init__.py文件

    
"""导包其实就是在导包下的__init__.py文件的!"""

软件开发目录规范

软件开发目录规范就是跟项目中得文件夹起合适的名字的!

项目名:
    bin 
    	# 放启动文件的 run.py start.py manage.py...
    如果你的启动文件只有一个,也可以不要bin文件夹,可以把启动文件写在项目的跟下
    
    conf (config:配置) 
    	# 放项目的配置文件
        settings.py
        '''就是一些初始化的数据'''
    core # 核心的
    	# 写一些项目的核心逻辑
        src.py 
        	def login():
                pass
            def register():
                pass
    lib # library 库
    	# 这个里面一般写项目使用的公共代码
         common.py
            def outer():
                pass
            
   log
	  # 日志:就是记录一些在代码运行过程中发生的一些事情,可以是正确的,可以是异常的
    	log.log
        
   db
	 # database
      跟项目相关的数据存储都存在db、data
        
    api/
    	# 接口层
   # 当你自定义文件夹名字的时候,一定要是见名知意, 一定不能出现中文的
setup.py  # 安装模块使用的 python setup.py ...
|-- requirements.txt # 目前用不到---> 

		taobao
    		time
        	 os
             requests
             xml
             ...
        # 命令:  
        	reqeusts == 1.11.1
            xml = 1.1.1
     # 命令:       
|-- README
	# 就是项目的说明书

下周要讲的ATM项目用的就是这个	

正则表达式


import re
phone_number = input('please input your phone number : ')
if re.match('^(13|14|15|18)[0-9]{9}$',phone_number):
        print('是合法的手机号码')
else:
        print('不是合法的手机号码')
        
        
正则表达式:
	利用一些特殊的符号匹配出我们想要的数据

正则表达式它是一门独立的语言,跟Python、Java等语言没有关系的
所以,如果想在Python中使用正则表达式,需要借助于re模块,内置的
import re

"""我们只学习正则的基础,就学习一些简单的正则够我们开发使用就行了"""

字符组

[0123456789]  # 0-9之间的数字
[0-9]  # # 0-9之间的数字
[A-Z]  # # A-Z之间的字母
[a-z]  # # a-z之间的字母

# 练习题:
匹配:0-9a-zA-Z之间的任意一个
[0-9A-Za-z]
[0-9A-Xa-f]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值