Python函数

1、声明和调用函数 2、参数和返回值3、Python内置函数

什么是函数

定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能

的代码段。

函数能提高应用的模块性,和代码的重复利用率。

函数的声明和调用函数

自定义函数:

1、可以使用def关键字来创建Python自定义函数,其基本语法结构如下:

def 函数名(参数列表)

函数体

函数名() #调用函数

2、参数列表可以为空,即没有参数,也可以包含单个参数、多个参数、默认参

数、可变长参数、参数之间使用逗号分隔

函数的三种调用方式

a、在本模块中调用

b、if __name__ == '__main__': 主函数调用

c、在其他模块中调用

主函数的解释:

if __name__ == '__main__': 是函数的入口,也称为主函数

__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ ,意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,

代码块不被运行。

注意:当多种参数同时出现在函数中,默认参数要放在最后的位置

函数的变量和作用域

1、在函数中也可以定义变量,在函数中定义的变量被称之为局部变量,局部变量

只在定义它的函数内部有效。

2、在函数体之外定义的变量,我们称之为全局变量。

定义的函数内部的变量名如果是第一次出现, 且在=符号前,那么就可以认为是

被定义为局部变量。在这种情况下,不论全局变量中是否用到该变量名,函数中

使用的都是局部变量。例:

a=100   #全局变量 公共变量
def hs():
    a=50  #局部变量 优先级高于外部全局
    print(a) 
def hs1():
    print(a)
if __name__=='__main__':
    hs() #50
    hs1() #100

a=100  #全局变量 公共变量
def hs():
    global a #设置成全局变量 ,优先级高于外部的全局变量
    a=50   #局部变量 优先级高于外部全局
    print(a)
def hs1():
    print(a)
if __name__=='__main__':
    hs() #50
    hs1() #50

函数的返回值

Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值,

该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出

现多次,但只要有一个得到执行,就会直接结束函数的执行。

函数中,使用 return 语句的语法格式如下:

return [返回值]

其中,返回值参数可以指定,也可以省略不写(将返回空值 None)

作用

1、在程序开发中,有时候会希望一个函数执行程序结束后,告诉

调用者一个结果,以便调用者针对具体的结果做后续的处理。

2、返回值是函数完成工作后,最后给到调用者的一个结果。

3、在函数中使用return关键字可以返回结果。

4、调用函数的一方可以使用变量来接收函数的返回结果。

def hs():
    a=50
    print(a) #50
    return a
    print(a) #return后面的语句都不执行
def hs1():
    c=hs()   #前面传递过来的,通过变量来接收
    print(c/2)
hs()  #25.0

​如果一个银行:使用两个函数​:一个登录函数,一个查询余额的函数。 如果登录成功就查询语句;

求:登录银行系统并显示余额,有两个功能第一个是登录,第二个是登录 后显示余额,先登录然后根据登录是否成功然后是否显示余额。 分析思路:如果想查询到余额,前提必须登录,所以现在我们用两个函数来 处理,第一个函数实现登录,第二个函数实现余额查询,调用第一个函数得 到的结果给第二个函数,然后第二个函数根据结果进行代码处理。

方法:

def hs1():
    name = str(input("请输入账号:"))
    if  name=="dcs":
        mm = input("请输入密码:")
        if mm=="123456":
            yzm = input("请输入验证码")
            if yzm== "4444":
                print("登陆成功")
                return 1
            else:
                print("验证码错误")
                return 0
        else:
            print("密码错误")
            return 0
    else:
        print("账号错误")
    return 0
def hs2():
    x=hs1()
    if x==1:
        print("您的余额为1000")
    else:
        print("尚未登录")

hs2()

方法2:

def select(a):
    if a==1:
        print("余额为:66666")
def login(admin,password):
    if admin=='admin':
        if password=='123456':
            print('登陆成功')
            return 1
        else:
            print('密码错误')
            return 0
    else:
        print('账号错误')
        # return 0
if __name__ == '__main__':
    z=input("请输入账号:")
    m=input("请输入密码:")

select(login(z,m))

方法3:

def denglu(u,p):
    if u == 'admin':
        if p == '123456':
            yue()
        else:
            print('账号或密码错误')
            return False
def yue():
    print('调用余额函数')
    print('余额为100.00')
if __name__ == '__main__':
    denglu('admin','123456')

内置函数:

input/frozenset()/list()/print()/range()/str()/tuple()/type()/globals()/dict()/set()/sorted()/id()/oct()/max()/any()/all()/cmp()/compile()/delattr()/dir(0/slice()/setattr()/zip()/import()/vars()/unichr()/unicode()/

一、format  和%s  将字符格式化输出

1、不按设置位置,按默认位置输出

a="{}{}".format("a","b")

print(a)

2、通过索引指定内容输出

a="{1}{1}".format("a","b")

print(a)

3、设置参数输出

a="{a}{b}".format(a=1,b=2)

print(a)

4、对表格进行格式化

list1=[1,2,3,4] #0 表格索引
list2=[4,5,6,7] #1
print("{0[3]},{1[2]}".format(list1,list2))

5、对字典进行格式化

d={"name":"zs","age":18}

print("{name},{age}".format(**d))

2、zip函数 (理解为压缩包)

将两个列表转换成字典

list1=[1,2,3,4,5,6] #0 表格索引
list2=[4,5,6,7] #1
s=zip(list1,list2)
# print(type(s)) #<class 'zip'>
print(dict(s))
print(list(s))
# print(tuple(s))

反解:

list1=[1,2,3,4,5,6] #0 表格索引
list2=[4,5,6,7] #1
s=zip(list1,list2)
m,n=zip(*s)
print(m)
print(n)

三、open函数

打开文件

1、找到文件的路径:

右击,copy path复制地址

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"

r或双斜杠

本地路径:

E:\az\ls\tttt.txt

url2=r"E:\az\ls\tttt.txt"

查看open的使用方法:

def open (file,mode='r',buffering=None,crrors=None,newline=Null,c)

(1)读取文档中所有内容:

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
f=open(url2,"r")

print(f.read())

(2)读取文档中所有内容,并以列表的格式返回

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
f=open(url2,"r") #读取所有的内容并以列表的形式呈现
print(f.readlines())

(3)只读取第一行

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
f=open(url2,"r")
print(f.readline())

(4)w 写入内容

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
f=open(url2,"w") #写
f.write("dcs") #写入的内容
f.close()  #关闭文件

(5)a 追加内容

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
f=open(url2,"a")       #a追加
f.write("dcs  \n aa \n bb")
f.close()

(6)with  open  会自动关闭文件

url1=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled9\bao\bb.py"
url2=r"E:\az\ls\tttt.txt"
with open(url2,"r") as f:
    print(f.readline())

1、len 函数

定义:返回一个内容

案例:计算字符长度

str1="abcdef"
print(len(str1)) #6
list1=[1,2,4,7]
print(len(list1)) #4

2、abs 函数 绝对值
a=-21
print(abs(a))

3、sum函数 求和

案例:1
print(sum(range(1,101))) #5050
案例2
list1=[1,2,4,7]
print(sum(list1)) #14

4、max 最大数

案例1

list1=[1,2,4,7]
print(max(list1))#7

5、min 最小的值

list1=[1,2,4,7]
print(min(list1))

6、id 函数

是一个返回对象唯一的标识

list1=[1,2,4,7]
list2=[8,9,0]
print(id(list1)) #1321563021960
print(id(list2)) #1321563021960

7、help 函数

help(open)

help函数查看函数或模块的详细说明


8、dir 函数

是查看函数或模块内的操作方法有什么,输出的方法列表

dir查询的是一个类或对象的属性

9、float 浮点数

将python的对象转换成浮点数

print(float(1))

10、next 函数
获取迭代器的下一个元素的方法
iter() 函数用来生成迭代器。
案例:
list1=[1,2,4,7]
s=iter(list1)
print(next(s))
print(next(s))
print(next(s))
print(next(s))


11、round 保留小数位置
案例:
k=2.34576891
print(round(k,2))

12、pow 次幂
print(pow(2,3)) #8

print(dir(str)) #['__add__', '__class__', '__contains__',
# '__delattr__', '__dir__', '__doc__', '__eq__',
# '__format__', '__ge__', '__getattribute__',
# '__getitem__', '__getnewargs__', '__gt__',
# '__hash__', '__init__', '__init_subclass__', '__iter__',
# '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__',
# '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__',
# '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
# 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
# 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',
# 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower',
# 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join',
# 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind',
# 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines',
# 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper',
# 'zfill']
#查看函数或模块内的操作方法有什么,输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值