py16.面向过程编程及各种表达式

一、面向过程编程

核心是’过程’二字,过程 指的是一种解决问题的步骤,即先干什么再敢什么
基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式

-优点:将复杂的问题流程化,进而简单化
-缺点:若修改当前程序设计的某一部分,会导致其他部分同时需要修改
牵一发而动全身,可扩展性差

三元表达式:可以将if...else...分支编成一行。

语法:
	条件成立,返回左边的值 if 判断条件 else 条件不成立返回右边的值


#通过if...else语法
def max2(num1,num2):
	if num1>num2:
		return num1
	else:
		return num2
res = max2(10,20)
print(res)

#三元表达式
num1 = 10
num2 = 20
def max2(num1,num2):
    res = num1 if num1 > num2 else num2
    return res
res = max2(num1,num2)
print(res)

# 需求: 让用户输入用户名,输入的用户如果不是tank,为其后缀添加_DSB
username = input('请输入用户名:').strip()
new_username = username if username == 'tank' else username + '_DSB'
print(new_username)

二、列表生成式:可以一行实现生成列表

语法:
	list = [取出的每一个值添加到当前列表中、任意值 for 可迭代对象中取出的每一个值 in 可迭代对象
	# for的右边是循环次数,并且可以取出可迭代对象中每一个值
	# for的左边可以为当前列表添加值
	list = [for 可迭代对象中取出的每一个值 in 可迭代对象]
	list = [for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]
	
# 需求:将list中的值,依次取出,添加到l1中
list = [1,2,3,4]
l1 = []
for i in list:
    l1.append(i)
print(l1)

# 普通方式
new_list = []
for i in range (1,101):
    new_list.append(i)
print(new_list)

#列表生成器
list = [ i for i in range(1,5)]
print(list)
>>>[1,2,3,4]

list = [ 1 for i in range(1,5)]
print(list)
>>>[1,1,1,1]

list = [ 'baohan' for i in range(1,5)]
print(list)
>>>['baohan','baohan','baohan','baohan']

#需求:将name_list列表中的每一个人后缀都添加_dsb
name_list = ['jason', '饼哥', 'sean', 'egon']
new_name_list = [name + '_dsb' for name in name_list]
print(new_name_list)

三、生成器表达式(生成器生成式)

- 列表生成式:  若数据量小时采用
	[line for line in range(1, 6)] ---> [1, 2, 3, 4, 5]
    优点:可以依赖于索引取值,取值方便
    缺点:浪费资源
    
- 生成器生成式:  若数据量过大时采用
	() ---> 返回生成器
	(line for line in range(1, 6)) ---> g生成器(1, 2, 3, 4, 5)
	优点:节省资源
	缺点:取值不方便

# 生成一个有1000个值的生成器
g = (line for line in range(1, 1000001))
print(g)           # <generator object <genexpr> at 0x00000203262318E0>
g1 = list(g)
print(g1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琴声浮或沉__听懂只一人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值