• 面向过程编程及各种表达式


    面向过程编程:

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

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

    三元表达式:可以将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)
  • 相关阅读:
    mas_makeConstraints && mas_remakeConstraints && mas_updateConstraints 用法与注意事项
    iOS特性一 关闭系统日志打印
    React-Native -课后练习
    RN 项目导入WebStorm 组件没有依赖
    React-Native需要css和布局-20160902
    方式 隐藏导航栏
    svn status状态
    spring整合redis
    maven编译跳过TEST
    linux自动登录脚本expect
  • 原文地址:https://www.cnblogs.com/wddxx/p/13668034.html
Copyright © 2020-2023  润新知