您的位置:首页 > 编程语言 > Python开发

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

2018-09-29 20:28 671 查看

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

[code]# 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() 四舍五入保留几位小数

[code]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.可以设置默认参数 定义和调用时默认参数都放在后面

[code]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

 

序列解包

[code]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

变量的作用域

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

add()   # 3
print(a) # 1

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: