IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 一步步学习Python---5 -> 正文阅读

[Python知识库]一步步学习Python---5

我们这个系列是新的开始,从零开始学习Python,我会在每周的1,5更新(偶尔拖更),持续关注,别的不敢说,基础知识还是能让你学明白的.由于上周五拖更了,这次内容会比较多.

一. 函数

函数的定义和调用
作用:封装代码 (将代码用一个容器储存起来,即拿即用)
定义: def 函数名():
函数体
调用: 函数名()

我们拿上周的作业举个例子:

while True:
   number = input("请输入手机号:")
   if number[0] == '1' and len(number) == 11 and number.isdigit():
       print(f"{number}是手机号")
       break
   else:
       print(f'{number}不是手机号')

用函数可以这样写():

def number():
   number = input("请输入手机号:")
   if number[0] == '1' and len(number) == 11 and number.isdigit():
       print(f"{number}是手机号")
   else:
       print(f'{number}不是手机号')

下面是关于函数的定义域调用:
在这里插入图片描述

二.函数的参数

函数名(x) x称为必备参数 必须传入值
函数名(y = n) y称为默认参数 不传入值时值为n 传入值(m)时为m
不定长参数: (不传入值也不会报错)

*args:将多余的值保留 用元祖保留起来
**kwargs:将key = value的值 用字典保留起来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tips:

1.获取参数的顺序:
必备->默认参数->不定长参数(*args->**kwargs)
指定传参(关键字实参) func(y=n,x=m)
2.return(返回值):
返回什么 变量接收到的就是什么 没有返回值时 变量接受的是None
函数中 renturn后面的代码 不会执行(表示函数结束了)

大家可以运行一下这个代码就能够理解我说的是什么意思了

def func(number):
   num = number + 5
   return num
   print(111222333666)

三.函数的作用域

函数外面定义的变量为全局变量 函数里面只能访问 不能修改(看得见摸不着)
不能修改不可变类型
不可变 只能通过重新赋值改变的 字符串,整形,浮点型,布尔型,元祖
可变 可以在原本的基础上进行增删改查的 列表,集合,字典
函数里面定义的变量叫做局部变量 只能在函数里面访问
global 声明函数外部的变量为全局变量 声明之后 就可以对这个变量进行修改
请看以下的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在我们还要讲一个重要的知识点:闭包
首先:什么是闭包呢?
外层函数返回内层函数的函数体
作用:用来保护 重要的数据(变量) 防止篡改数据
在这里插入图片描述
在这里插入图片描述

def funa():
   live = 50
   def funb():
       nonlocal live
       live += 1
       print(live)
   def func():
       nonlocal live
       live -= 1
       print(live)
   return funb,func   #返回元祖   a = funa()  拆包:jia,jian = a

四.递归和匿名函数

递归函数(回调函数): 函数自己调用自己

def func(n):
   if n <= 1:
       return 1
   else:
       return n*func(n-1)
a = func(5)
print(a)

在这里插入图片描述
在这里插入图片描述
匿名函数:
需要通过一个变量接收
匿名函数 通常搭配内置函数进行使用
在这里插入图片描述
在这里插入图片描述

五.作业和上节课的答案(仅供参考)

在这里插入图片描述
九九乘法表:

for a in range(1, 10):
    for b in range(1, a+1):     # range() 取头不取尾
        print('%d * %d = %d\t'%(a, b, a*b), end=" ")
    print(" ")

移除重复元素:

'''
for 第一次拿一个  第二次拿第二个  依次类推
'''
s = list(input("请输入一个字符串:"))
m = []
for i in s:
    if i not in m:
        m.append(i)
m.sort(reverse=False)
print(''.join(m))

判断水仙花数:
我这里提供了两种方法:

sxh = []
for i in range(100,1000):
    a = i//100  # 取整
    b = i//10%10
    c = i%10   # 取余
    if i == a**3+b**3+c**3:
        sxh.append(i)
print(sxh)
for x in range(1,10):
    for y in range(0,10):
        for z in range(0,10):
            s1 = x*100+y*10+z
            s2 = x**3 + y**3 + z**3
            if s1 == s2:
                print("水仙花数有:%ld"%(s1))

找出两个列表中的相同元素:

'''
方法一:
    集合
    转换类型为集合
    取交集
方法二:
    遍历列表
    判断a列表里面的元素是不是存在b列表当中(in)
    或者判断a列表里面的元素是不是与b列表里面的元素相等
    输出
'''
a = [1,2,3,4]
b = [1,2,3,4,5,6,7]
set_a = set(a)
set_b = set(b)
set_c = set_a & set_b
print(set_c)
# 第二种
a = [1,2,3,4,3,3,3]
b = [2,3,4,5]
c = set()
for i in a:
    for j in b:
        if i == j:
            c.add(j)
print(f'两个列表中相同的元素有{c}')

随机生成密码:

'''
思路:
    统一大小写
    遍历字符串,获取每个字符
    转换为列表
    统计
    输出
进阶:
    用字点保存数据,避免重复
补充:
    字符串的统计str.count(字符)
'''
# 普通
a = 'jdshgfdhsfjkdshjfhdsbfbdsbyfby'
a = list(a)
for i in range(97,123):
    print(f'{chr(i)}的出现次数为:', a.count(chr(i)))
# 进阶
s = input("请输入a`z无论大小写的英文字母:")
s = s.upper()
dic = {}
for i in s:
    num = s.count(i)
    dic[i] = num
print(dic)

手机号码:
这个在文章开头就给大家演示了,这里就不多赘述了

六.结语

从四月初开始写博客不知不觉也有一个月了,粉丝也快两百了,感谢大家的支持,祝大家五一快乐,我们周三见.

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:14:27  更:2022-05-05 11:18:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:40:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码