Python基础-Week2

1.    包、模块、类

       包可以理解为一个文件夹

       每个包内可以有多个模块

2.    Python包与模块的命名

        包是某一个模块所依赖的空间。不同的包下,可以有子包,模块可以和包以平行模式存在。

3.    __*__ 该格式为系统内定

        包(package)里一定存在 __init__.py 文件,没有则是普通文件。

        __init__.py文件本身就是一个模块

4.     import导入模块

        在项目开发中,多个包之间不可避免要互相调用,可以使用import关键字在某个包中来调用其他包中的资源。

        eg:在new1中使用new2中定义的变量 a

                import new2

                print(new2.a)

        4.1   new1.under_new1.demo2 为包new1下的under_new1文件下的demo2模块,将该路径定义(as)为 a

                eg:import new1.under_new1.demo2 as a

        4.2    同级之下可以直接调用(import  模块名)

        4.3    调用子包内的模块

                 import要加上子包的包名

        4.4    不可以直接引用变量

        4.5    from XXX import XXX

                 如果路径过长,要在代码中多次使用某个模块的变量,如下编写就显得啰嗦:

                 import directory_name.module_name

                 print(directory_name.module_name.a)

                 此时就可以利用以下方法来简化:

                 from directory_name.module_name import a

                 print (a)

        4.6    调用模块下的变量 from *(模块) import *(变量/函数)

        4.7    * 的使用

                 如果要引用某个模块中的多个变量,就要重复操作form XXX import XXX 

                 from XXX import a

                 from XXX import b

                 from XXX import c

                 使用 * 则可以一次性导入所有变量:  from XXX import *

                 或者使用逗号分隔 :  from XXX import a,b,c   如果一行无法书写完成,则可如下书写:

                 from XXX import (a,b,

                 c)

        4.8    __init__.py  的使用 

                一个文件中是否拥有__init__.py ,决定这个文件是否是包。(有则是,无则否)

                一个子包下拥有__init__.py模块,此时调用该子包下的任意模块包括这个包时,都会率先执行 __init__.py模块

        4.9   __all__   的使用 

                限制导入变量

                批量导入时可以限制模块内某些变量不被导入,但是单个导入时,仍然可以导入。(在该模块中用__all__声明)

                在某个模块中存在三个变量a,b,c,在利用 * 导入时 只想导入a和b ,操作如下:

                

                批量导入模块时,需要在__init__.py模块中利用__all__声明批量调用的模块有哪些。

                 使用  __all__  时,没有在列表中的变量可以利用 from XXX import XXX 来单独引入

        4.10  两个模块之间不能互相调用,否则这两个模块之间会产生依赖,进行无限调用

5.     函数

        round()

                a = 1.2345

                result = round(a,3)

        (1)功能性

        (2)隐藏细节

        (3)避免编写重复的代码

        5.1   定义

                def funcname():

                        pass

                 (1) 可以没有参数列表

                 (2) return value 若没有返回值,Python默认返回None

                 eg:实现两个数字相加 :

                         def add(x,y):

                                result = x+ y

                                return result

                          打印参数:

                            def print(x):

                                    print(x)

    

                            a = add(x,y)

                            b = pritn(x)

                            print(a,b)

                                 import sys

                                 sys.setrecursionlimit(1000000)

                             print()函数可以灵活防止参数个数,但并不是所有的函数都可以放任意个参数

         5.2 return 

               在程序中一旦出现return语句,程序立即终止

               在Python中,若要返回多个变量,只需用逗号将变量分隔即可,如:return x,y,z

         5.3 序列解包

                x,y = funcname()

                a = 1

                b = 2

                c = 3

                a, b, c =1, 2, 3

                d = 1, 2, 3 or

                print(type(d))

                a, b, c = d

                a, b, c =[1,2,3] 

        5.4   可变参数

                在 Python 函数中,可以定义可变参数。可变参数就是传入的参数个数是可变的,可以是1个,2个 ··· 任意个,还可以是0个。

         5.5  必须参数

                在函数参数列表中所定义的参数

                def add(x,y)括号中的x,y为形式参数

                add(1,2)实际参数,实参

        5.6   关键字参数

                add(y=3, x=2) 使用关键字参数,也就是在参数列表中具体声明给每个参数传递的值

                如果只传一个参数,如 add(x=2) 会报错,定义多少个形参,就要传递多少实参

                与必须参数相比,两者的不同在于函数的调用上

        5.7   calc 可变参数

                def calc (*numbers):

                        sum = 0

                        for n in numbers:

                                sum = sum + n * n

                         return sum

                print(clac(2,3,4,5))

                

                l = [1,2,3,4]

                t = (1,2,3,4)

                print(clac(*l))

                print(clac(*t))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值