python入门与进阶篇(四)之包、模块、函数与变量作用域

本文深入探讨Python项目中包、模块、类、函数和变量的组织结构,讲解了包和模块的导入方式,以及自定义函数的定义与使用,包括参数传递、返回值和作用域等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python项目的组织结构

(文件夹)-->模块(文件)-->-->函数和变量  

seven.c4、six.c4:(seven)包名.模块名(c4) 构成命名空间

seven包的结构:

seven

   --t(子包)

       -- __init__.py  (成为一个包必需的文件)

      --c5.py

   -- __init__.py  (成为一个包必需的文件)

  --c1.py

  --c2.py

  --c3.py

 --c4.py

 --c6.py

 

import 导入模块

c5:  a=1

c2: import t.c5 as m

     print(m.a)  # 1

# c3: __all__=['a','b'] a,b,c=1,2,3
# import 导入模块名   as 改变模块名
# import t.c3 as m
# print(m.a)

# from t.c3 import a  从c3模块下导入a变量   
# * 代表所有c3中 __all__=['a','b'] 导出的变量 默认是所有变量  

from t.c3 import *
print(a)
print(b)
print(c)

''' 结果:
1
2
Traceback (most recent call last):
  File "D:\前端\python视频\python\one\c2.py", line 11, in <module>
    print(c)
NameError: name 'c' is not defined
'''

 

t子包 __init__.py: 包管理

import sys

import io

import datetime

 

c6中导入 

import t

print(t.sys.path)

 

包和模块是不会重复导入的,避免循环导入模块

 

函数

内置函数:

 round() 四舍五入保留几位小数

a=1.12386
result=round(a,2)
print(result)  # 1.12

查看python内置函数 python-->回车-->help(print)-->more-->回车

 

自定义函数

def fun(parame_list):

   pass

1.def关键字定义一个函数             js 直接function fun(){} 或者var fun=function(){}

2.parame_list参数列表可以没有

3.没有return 默认返回None                  js 返回null

4.python函数的定义需放在调用之前    js 有函数声明提升

5.使用函数名调用 fun()

6.函数可以返回多个值 构成一个元组      js只能有一个返回值

7.必需参数 skill1和skill2                         js参数可以不是必需参数

8.关键字参数 调用时不需要记住参数的顺序 如damage(skill2=6,skill1=1)               js没有关键字参数这个说话

9.可以设置默认参数 定义和调用时默认参数都放在后面

def damage(skill1,skill2):
    damage1=skill1*3
    damage2=skill2*3+2
    return damage1,damage2

# <class 'tuple'>
print( type(damage(3,6)) )

# 序列解包
skill1_damage,skill2_damage=damage(3,6)
print(skill1_damage)   #9
print(skill2_damage)   #20

 

序列解包

a,b,c=1,2,3
d='345'  # ['3','4','5']  '3','4','5'
e,f,g=d
print(a)  #1
print(b)  #2
print(c)  #3
print(e)  #3
print(f)  #4
print(g)  #5

变量的作用域


a=1  # 全局变量
def add():
    a=3      # 局部变量  函数内部无法更改全局变量 但是在函数内可以访问全局变量
    print(a)

add()   # 3
print(a) # 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值