当前位置: 首页 > news >正文

网站开发建设合同上海百度竞价点击软件

网站开发建设合同,上海百度竞价点击软件,潜江做网站的公司,购物网站的后台做哪些东西目录 🍔 函数的参数进阶 1、函数的参数 2、函数的参数类型(调用) 2.1 位置参数 2.2 关键词参数(Python特有) 3、函数定义时缺省参数(参数默认值) 4、不定长参数 4.1 不定长元组(位置)参数…

目录

🍔 函数的参数进阶

1、函数的参数

2、函数的参数类型(调用)

2.1 位置参数

2.2 关键词参数(Python特有)

3、函数定义时缺省参数(参数默认值)

4、不定长参数

4.1 不定长元组(位置)参数

4.2 不定长字典(关键字)参数

🍔 Python拆包(元组和字典)

1、什么是拆包

2、元组的拆包过程

3、字典的拆包过程

4、拆包的应用案例

🍔 使用Python函数编写通讯录系统

1、查看通讯录系统最终效果

2、需求分析

3、功能实现步骤

4、模块化的编程思想(面向过程)

5、使用Python开发通讯录管理系统

 

🍔 函数的参数进阶

def func(参数1, 参数2, 参数3):

...

func(10, 20, 30)

1、函数的参数

在函数定义与调用时,我们可以根据自己的需求来实现参数的传递。在Python中,函数的参数一共有两种形式:① 形参 ② 实参

==形参:在函数定义时,所编写的参数就称之为形式参数==

==实参:在函数调用时,所传递的参数就称之为实际参数==

def greet(name):  # name就是在函数greet定义时,所编写的参数(形参)return name + ',您好'
​
# 调用函数
name = '老王'
greet(name)  # 在函数调用时,所传递的参数就是实际参数

注意:虽然我们在函数传递时,喜欢使用相同的名称作为参数名称。但是两者的作用范围是不同的。name = '老王',代表实参。其是一个全局变量,而greet(name)函数中的name实际是在函数定义时才声明的变量,所以其实一个局部变量。

2、函数的参数类型(调用)

2.1 位置参数

论上,在函数定义时,我们可以为其定义多个参数。但是在函数调用时,我们也应该传递多个参数,正常情况,其要一一对应。

def user_info(name, age, address):print(f'我的名字{name},今年{age}岁了,家里住在{address}')# 调用函数
user_info('Tom', 23, '美国纽约')

注意事项:位置参数强调的是参数传递的位置必须一一对应,不能颠倒

2.2 关键词参数(Python特有)

函数调用,通过“键=值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。

def user_info(name, age, address):print(f'我的名字{name},今年{age}岁了,家里住在{address}')# 调用函数(使用关键词参数)
user_info(name='Tom', age=23, address='美国纽约')

3、函数定义时缺省参数(参数默认值)

缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。

def user_info(name, age, gender='男'):print(f'我的名字{name},今年{age}岁了,我的性别为{gender}')
​
​
user_info('李林', 25)
user_info('振华', 28)
user_info('婉儿', 18, '女')

谨记:我们在定义缺省参数时,一定要把其写在参数列表的最后侧

4、不定长参数

不定长参数也叫可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。此时,可用==包裹(packing)位置参数==,或者==包裹关键字参数==,来进行参数传递,会显得非常方便。

4.1 不定长元组(位置)参数

def user_info(*args):# print(args)  # 元组类型数据,对传递参数有顺序要求print(f'我的名字{args[0]},今年{args[1]}岁了,住在{args[2]}')
​
# 调用函数,传递参数
user_info('Tom', 23, '美国纽约')

4.2 不定长字典(关键字)参数

def user_info(**kwargs):# print(kwargs)  # 字典类型数据,对传递参数没有顺序要求,格式要求key = value值print(f'我的名字{kwargs["name"]},今年{kwargs["age"]}岁了,住在{kwargs["address"]}')
​
# 调用函数,传递参数
user_info(name='Tom', address='美国纽约', age=23)

kw = keyword + args

综上:无论是包裹位置传递还是包裹关键字传递,都是一个组包的过程。

Python组包:就是把多个数据组成元组或者字典的过程。

案例:Python中数据的传递案例

def func(*args, **kwargs):print(args)print(kwargs)
​
​
# 定义一个元组(也可以是列表)
tuple1 = (10, 20, 30)
# 定义一个字典
dict1 = {'first': 40, 'second': 50, 'third': 60}
# 需求:把元组传递给*args参数,字典传递给**kwargs
# ① 如果想把元组传递给*args,必须在tuple1的前面加一个*号
# ② 如果想把字典传递给**kwargs,必须在dict1的前面加两个**号
func(*tuple1, **dict1)

🍔 Python拆包(元组和字典)

1、什么是拆包

Python拆包:就是把元组或字典中的数据单独的拆分出来,然后赋予给其他的变量。

拆包: 对于函数中的多个返回数据, 去掉元组, 列表 或者字典直接获取里面数据的过程。

2、元组的拆包过程

def func():# 经过一系列操作返回一个元组return 100, 200  # tuple元组类型的数据
​
# 定义两个变量接收元组中的每个数组(拆包)
num1, num2 = func()
# 打印num1和num2
print(num1)
print(num2)

3、字典的拆包过程

记住:字典拆包,只能把每个元素的key拆出来

dict1 = {'name':'小明', 'age':18}
# 拆包的过程(字典)
a, b = dict1
print(a)
print(b)
# 获取字典中的数据
print(dict1[a])
print(dict1[b])

4、拆包的应用案例

案例1:使用至少3种方式交换两个变量的值

c1 = 10

c2 = 2

经过一系列的相关操作

c1 = 2

c2 = 10

第一种方式:引入一个临时变量

c1 = 10
c2 = 2
​
# 引入临时变量temp
temp = c2
c2 = c1
c1 = temp
​
print(c1, c2)

 

第二种方式:使用加法与减法运算交换两个变量的值(不需要引入临时变量)

c1 = 10
c2 = 2
​
c1 = c1 + c2
c2 = c1 - c2
c1 = c1 - c2
​
print(c1, c2)

第三种方法:只有Python才具有的特性,叫做拆包

c1 = 10
c2 = 2
​
c1, c2 = c2, c1

原理:

第一步:把c2和c1组成一个元组(c2,c1)

第二步:使用拆包特性,把元组中的两个元素分别赋值给c1和c2

🍔 使用Python函数编写通讯录系统

1、查看通讯录系统最终效果

2、需求分析

需求:进入系统显示系统功能界面,功能如下:

① 添加学员信息

② 删除学员信息

③ 修改学员信息

④ 查询学员信息(只查询某个学员)

⑤ 遍历所有学员信息

⑥ 退出系统

系统共6个功能,用户根据自己需求选取

3、功能实现步骤

① 显示功能界面

② 用户输入功能序号

③ 根据用户输入的功能序号,执行不同的功能(函数)

☆ 定义函数

☆ 调用函数

4、模块化的编程思想(面向过程)

模块化的编程思想是最早期的编程思想,其强调把一个系统分解为若干个功能,每个功能就是一个模块(函数)。当所有功能开发完毕后,则系统就完成了。

5、使用Python开发通讯录管理系统

① 显示功能界面

② 提示用户输入要操作的功能编号

③ 根据用户输入的序号执行相关功能 => if...elif...else

④ 如何让程序一直执行下去,而不是选择某个功能后,程序就退出了 => while True

⑤ 根据用户输入的序号,完成系统中的每一个功能

所有功能都有使用前提:必须共享一套数据 => info = [{}, {}, {}]

# 定义一个全局变量,结构[{}, {}, {}]
students = []
​
# 封装一个menu函数,用于打印功能菜单
def menu():print('-' * 40)print('传智教育通讯录管理系统V1.0')print('1、添加学员信息')print('2、删除学员信息')print('3、修改学员信息')print('4、查询学员信息')print('5、遍历所有学员信息')print('6、退出系统')print('-' * 40)
​
# 封装一个函数add_student(),添加学员信息
def add_student():# 提示用户要输入学员的信息(name、age、mobile)name = input('请输入学员的姓名:')age = input('请输入学员的年龄:')mobile = input('请输入学员的电话:')
​# 声明全局变量global students
​student = {}student['name'] = namestudent['age'] = agestudent['mobile'] = mobile
​students.append(student)print('信息已添加成功!')
​
# 封装一个del_student()函数,删除学员信息
def del_student():# 提示用户输入要删除学员的姓名name = input('请输入要删除学员的姓名:')# 声明全局变量global studentsfor student in students:if student['name'] == name:# 找到了要删除的学员students.remove(student)print('信息已删除成功!')breakelse:print('暂未查询到任何相关信息...')
​
# edit_student()函数,修改学员信息
def edit_student():# 提示用户输入要修改学员的姓名name = input('请输入要修改学员的姓名:')# 声明全局变量global students
​for student in students:if student['name'] == name:# 找到了要修改的学员信息student['age'] = int(input('请输入要修改学员的年龄:'))student['mobile'] = input('请输入要修改学员的电话:')print('信息已更新成功!')breakelse:print('暂未查询到任何相关信息...')
​
# 封装一个show_students()函数,遍历所有学员信息
def show_students():# 声明全局变量global students
​for student in students:print(student)
​
# 编写一个while死循环
while True:menu()
​# 提示用户输入要操作的功能编号num = int(input('请输入要操作的功能编号:'))
​# 编写if多条件分支语句,可以根据用户的输入执行相应的功能if num == 1:# 添加学员信息add_student()elif num == 2:# 删除学员信息del_student()elif num == 3:# 修改学员信息edit_student()elif num == 4:# 查询学员信息(作业)find_student()elif num == 5:# 遍历所有学员信息show_students()elif num == 6:# 5、退出系统print('感谢您使用传智教育通讯录V1.0系统,欢迎下次继续使用!')breakelse:print('您输入的信息有误,请重新输入')

 

 

💘若能为您的学习之旅添一丝光亮,不胜荣幸💘

🐼期待您的宝贵意见,让我们共同进步共同成长🐼

 

http://www.ds6.com.cn/news/20448.html

相关文章:

  • 潍坊网站建设熊掌号免费顶级域名申请网站
  • dw可以用来做网站吗独立站搭建要多少钱
  • 哪个公司做网站最好深圳网站优化是做什么的
  • 个人网站推荐汕头seo推广
  • 网站目录链接怎么做的石家庄疫情太严重了
  • 做网站时会留下ip地址吗可以免费领取会员的软件
  • 网站文章页的排名怎么做视频网站推广
  • 浙江华企做的网站效果如何惠州seo建站
  • wps文字可以做网站吗seo黑帽是什么
  • ps做特效哪个网站好百度seo外包
  • 前端做网站一般用什么框架上海优化外包公司排名
  • 阿里云服务器可以做彩票网站吗seo优化顾问服务阿亮
  • wordpress首页广告济南seo优化公司助力排名
  • 南通企业网站seo2023网络营销成功案例
  • wordpress 文章和tag网络优化是做什么的
  • 临淄信息港发布信息厦门seo搜索引擎优化
  • 做pc端网站公司佛山关键词排名工具
  • 网站建设的er图怎么画台湾搜索引擎
  • 桂林做网站的公司常州seo第一人
  • 做特价的网站网络推广网站排行榜
  • 华为云云速建站怎样找培训班一般在什么平台
  • 蛋糕行业网站建设方案最近最新的新闻
  • 全国监理工程师查询网谷歌优化培训
  • vps搭建网站是什么意思网站优化及推广
  • 网站建设与网站制作合肥关键词排名
  • 站长收录查询阿里指数数据分析平台官网
  • 品牌网站首页设计百度官网下载电脑版
  • 潍坊网站模板在哪关键词推广工具
  • 广西网站建设哪里有免费创建网站的平台
  • 成都网站制作中国互联站长素材官网