python模块和函数的使用


Python脚本的基本格式
完整的python脚本包含以下三个部分:
脚本头
引用部分
业务部分

#coding:utf-8    //脚本头

import os			//引用部分

print(123)			//业务部分

一、常见头注释

定义coding,告诉系统脚本是何种编码格式:

#coding:utf-8

二、python导入部分

1、导入位置

导入的位置在头注释下边!python程序是自上而下逐行执行的,只有先导入所需模块,我们所编写的业务部分才能正常调用函数

2、导入模块(库)

模块的概念
1、模块也叫库,每个模块中都内置了大量的功能函数、类和变量。它就像是积木,可以根据需要进行调用组合。
2、模块就是程序,每个模块就是一个后缀为.py的Python程序。
3、Python的模块分为标准模块和第三方模块,标准模块就是python内置的,第三方模块则需要安装之后才能使用。
4、可以通过help命令了解一个模块的基本帮助信息,如:help(‘sys’)

导入方法:
1、无论标准模块还是第三方模块都需要导入。
2、导入方法:

  • 直接调用模块:import 模块名
  • 从模块中调用某个函数:from 模块名 import 函数名
  • import os,应采用“模块名.方法名”的形式使用模块中的方法。如:os.system()
  • from os import * ,可以直接使用system()方法,无需加上模块名作为前缀。

三、函数

什么是函数?
所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用!

函数的使用包含两个步骤:
1、定义函数
2、调用函数

函数的作用:
在开发程序时,使用函数可以提高编写的效率以及代码的重用

1、定义函数

使用关键字def 来定义一个函数,这就是函数定义,而且定义以冒号结尾。

格式:

def 函数名 :

内容

函数名

例如:

def hi():
    print("helloworld!!!")

hi()
输出结果:helloworld!!!

2、函数的参数

  • 函数是绝大多数编程语言中都支持的一个代码的"构建块",但是Python中的函数与其他语言中的函数还是有很多不太相同的地方,其中一个显著的区别就是Python对函数参数的处理。在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载

  • 函数的参数增加函数的通用性,针对相同数据处理逻辑,能够适应更多数据
    1、在函数内部,把参数当作变量使用,进行需要的数据处理
    2、函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递

3、形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用
实参:调用函数时,小括号中的参数,用来把数据传递到函数内部
例如:

def say_hello(name):
    print("hello,"+name)

name = str(input("请输入您的名字!:"))
say_hello(name)
输出结果:
请输入您的名字!:stray
hello,stray



求两数和
def is_sum(a,b):#这里的a,b为形参
    result = a+b
    print("%d+%d=%d"%(a,b,result))
is_sum(100,20)#这里的100,20为实参
输出结果:100+20=120

关键字实参:是传递给函数的名称—值对,直接在实参中将名称和值关联起来,因此向函数传递实参时不会混淆.

def message(username,password):
    print("username:%s\npassword:%s" %(username,password))
message(username='admin',password='123456')
输出结果:
username:admin
password:123456

3、函数的返回值

函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值 。

  • 返回值是函数工作完成后,最后给调用者的一个结果
  • 在函数中使用return关键字可以返回结果
  • 调用函数一方,可以使用变量来接受函数的返回结果!
def full_name(first_name,last_name):
    '''返回完整的名字'''
    full_name = first_name + ' ' + last_name
    return full_name.title()
name = full_name('stray','www')
print(name)
输出结果:Stray Www

让实参变为可选的

def full_name(first_name,last_name=''):
    '''返回完整的名字'''
    if last_name:
        full_name=first_name+last_name
    else:
        full_name = first_name

    return full_name.title()
name = full_name('stray','')
print(name)
name = full_name('stray','one')
print(name)
输出结果:
Stray
Strayone

这里用一个if语句来判断last_name是否存在,通过这样的判断就可以打印出不同的情况,那么此时last_name就变成了可选参数!

返回字典
函数的返回值可以是任何类型,包括列表和字典等较复杂的数据结构

def login(username,password):
    login= {'用户名':username,'密码':password}
    return(login)
login_in = login('admin','123456')
print(login_in)
输出结果:
{'用户名': 'admin', '密码': '123456'}

login接收usernamepassword,并将这些值封装到字典中

传递列表

将列表传递给函数后,函数就能直接访问其内容

通过列表传递参数,提高效率

def getuser(names):
    for name in names:
       print("hello," + name.title())
usernames = ["wnagwu","zhangsna","lisi"]
getuser(usernames)
输出结果:
hello,Wnagwu
hello,Zhangsna
hello,Lisi

传递任意数量的实参

def foods(*food):
    print(food)
foods("苹果",'香蕉','梨','桃子')
输出结果:
('苹果', '香蕉', '梨', '桃子')

形参名*food中的*让python创建了一个名为food的空元组,并将收到的所有制都封装到这个元组中。

用模块管理函数

对于任何一种编程语言来说,给变量、函数这样的标识符起名字都是一个让人头疼的问题,因为我们会遇到命名冲突这种尴尬的情况。最简单的场景就是在同一个.py文件中定义了两个同名函数,由于Python没有函数重载的概念,那么后面的定义会覆盖之前的定义,也就意味着两个函数同名函数实际上只有一个是存在的。

def foo():
    print('hello, world!')


def foo():
    print('goodbye, world!')


# 下面的代码会输出什么呢?
foo()

当然上面的这种情况我们很容易就能避免,但是如果项目是由多人协作进行团队开发的时候,团队中可能有多个程序员都定义了名为foo的函数,那么怎么解决这种命名冲突呢?答案其实很简单,Python中每个文件就代表了一个模块(module),我们在不同的模块中可以有同名的函数,在使用函数的时候我们通过import关键字导入指定的模块就可以区分到底要使用的是哪个模块中的foo函数,代码如下所示。
module1.py

def foo():
    print('hello, world!')

module2.py

def foo():
    print('goodbye, world!')

这种情况我们就可以通过下面的方式来区分到底要使用哪个foo函数

as用来给模块或者函数指定别名,这里是用来给模块指定别名

import module1 as m1	
import module2 as m2

m1.foo()
m2.foo()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值