pycharm(3)

函数

返回值

1、一个函数,不管是否有return,它都是有返回值的,如果没有return,它的返回值信息是None

2、如果有return,函数的返回值是return后面的内容

切记:return后面的代码是不能运行的

函数返回值的价值是:把函数与函数之间建立一层关系

def loo(username='xl',password='057366'):
    if username=='xl' and password=='057366':
        return '765216'
    else:
        return '账户或密码错误'
def poo(sessionid):
    if sessionid=='765216':
        print('欢迎查看主页')
    else:
        print('请登录')
poo(sessionid=loo())

 

 

 内部函数

chr:数字转字母

# 数字转字母:chr
print(chr(100))

 

 

 ord:字母转数字

# 字母转数字:ord
print(ord('y'))

 

 

 range:范围,如果只有一个数字则从零开始,如果是一个区间,那么它只包含开始,不包含结尾

注意:它必须在函数中使用

# range:范围,如果只有一个数字则从零开始,如果时一个区间,那么它只包含开始不包含结尾
# 它只能在函数中使用
for loo in range(5):
    print(loo)
for lob in range(1,6):
    print(lob)

 

 

 import:导入的关键字(内部的库是需要导入的)

# 导入的关键字(import)
# 内部的库是需要导入的
import random
print(random.randint(1,10))

 

 

 练习:发送验证码(考研导入随机数字的知识)

# 练习,发送验证码
import random
list1=[]
# 随机四个数字
for i in range(4):
    # 选择循环的区间(此时因为验证码是英文的所以数字比较大)
    r=random.randrange(101,120)
    # 将循环出来的数字转换为字母
    list1.append(chr(r))
#     将字母转换为字符串的格式
print(''.join(list1))

 

 

 eval:将字符串转为表达式

#eval: 将字符串转换为表达式
str='2*6*8+95-45'
print(eval(str))

 

 

 lambda:匿名函数

它只得是一个函数,但是这个函数可以自定义名称

# lambda:匿名函数
# 它指的是一个函数,但是这个函数可以自定义名称
# for exampie:
#     a=lambda x,y:x+y
#     左边是函数的形式参数
#     右边是函数的表达式
a=lambda x,y:x+y
print(a(3,5))

 

 

 filter:过滤函数

1、函数对象没有括号

2、可以迭代的对象(可以被循环)

# filter:过滤函数
# 1、函数对象没有括号
# 2、可以迭代的对象(可以被循环)
list1=[1,2,5,7,5,6,7,5]
def func(a):
    if a>2:
        return True
print(list(filter(func,list1)))
# 第二种方式
print(list(filter(lambda a:a>2,list1)))

 

 

 map:针对所有的对象做同样的操作

1、函数对象

2、可迭代的对象

# map:针对所有的对象做同样的操作
# 1、函数对象
# 2、可迭代的对象
list1=[1,2,3,4,5,6,7,8,9]
list2=[]
def func():
    for loo in list1:
        list2.append(loo+8)
    print(list2)
func()
# 第二种方式
print(list(map(lambda a:a+8,list1)))

 

 

 全局变量与局部变量

全局变量:在一个python文件中定义的变量

局部变量:在函数中定义的变量

优先级:

1、在python文件中,调用变量,全局变量的优先级是高于局部变量的

2、在函数内部调用变量,局部变量的优先级是高于全局变量的

3、如果在函数内部向应用全局变量,那么使用关键字global

# 全局变量:在一个python文件中定义的变量
# 局部变量:在函数中定义的变量
# 优先级:
# 1、在python文件中,调用变量,全局变量的优先级是高于局部变量的
# 2、在函数内部调用变量,局部变量的优先级是高于全局变量的
#  3、如果在函数内部向引用全局变量,那么使用关键字global
name='兴隆'
def a():
    naem='xl'

print(name)
a()

 

 

 异常处理

异常的父类是BaseExcepyion

异常有四种类型:

try:

expect:

else:

finally:

异常逻辑:

1、正常逻辑:try——>selse——>finally

2、异常逻辑:try——>sxpect——>finally

 

 

# 异常的父类是BaseExcepyion
# 异常有下列四种:
# try:
# expect:
# else:
# finally:
# 异常逻辑:
# 1、正常逻辑:try——>selse——>finally
# 2、异常逻辑:try——>sxpect——>finally

def loo(x,l):
    try:
        print(x/l)
    except Exception as e:
        print('错误')
    else:
        print('try完了执行我')
    finally:
        print('我最牛')
loo(8,0)

 

 

 模块

1、模块:在python中,每一个python文件都是一个模块

2、包:在一个包中有很多的模块

3、包与文件夹的区别:包里面含有_intn_.py模块,文件里面没有

4、文件和包在图标上的区别是包中间有个洞但是文件夹没有

文件:

 

 

 

 包:

 

 

 

一个模块调用另一个模块的变量以及函数

from 包的名称.模块的名称 import *(代表所有)

 

 

# 一个模块调用另一个模块的变量以及函数
# from 包的名称.模块的名称 import *(代表所有)
from loo.wsh import *
print(name)
func()

 

posted @ 2022-03-30 20:07  挣大钱  阅读(173)  评论(0)    收藏  举报