zoukankan      html  css  js  c++  java
  • 面向过程编程及各种表达式

    面向过程编程:

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

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

    三元表达式:可以将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)
  • 相关阅读:
    每日英语:Why Sit Up Straight?
    每日英语:Doctor's Orders: 20 Minutes Of Meditation Twice A Day
    每日英语:SamsungApple Patent Fight: Is It Worth It?
    每日英语:Better Than Buffett, This Investor Made Me Rich for Life
    每日英语:Coming Soon to China: AtHome Toxic Food Test Kits
    去了家新公司,技术总监不让用 IntelliJ IDEA!!想离职了。。
    IDEA 进行远程 Debug,这个太强了。。
    雷军做程序员时写的博客,太牛了。。
    Spring Boot 如何获取 Controller 方法名和注解信息?
    sql 2005/2008中直接创建web service,允许客户机通过HTTP访问
  • 原文地址:https://www.cnblogs.com/wddxx/p/13668034.html
Copyright © 2011-2022 走看看