我是靠谱客的博主 精明冰淇淋,最近开发中收集的这篇文章主要介绍python_为什么没有DO WHILE和switch,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://bbs.chinaunix.net/thread-1763180-1-1.html

DO WHILE实现

  1. do

  2.       input = get_input()
  3. } while( input != something )
复制代码
while if 應該滿足到你需要吧.
  1. while True:
  2.       input = get_input()
  3.       if input == something:
  4.             break;
复制代码


switch实现



python还没有switch case,要么用最朴实的if elif else要么不嫌麻烦自己实现switch case
 
或者用dict实现

def add_category(request,id):
    f = CategoryForm(initial={'parent':id})
    f.base_fields['parent'].widget = HiddenInput()
    f.base_fields['language'].widget = RadioSelect(choices=settings.LANGUAGES) 

categoryAction = {
    "a": add_category,
    "e": edit_category,
    "l": list_category,
    "v": view_category,
    "s": save_category,
    "d": delete_category
}

#
def category(request,op='',id=0):
    return categoryAction.get(op)(request,id)

关于python的三元运算符实现

正常的三元运算符是这么使用的
布尔表达式 ? A : B
如果布尔表达式为true,则返回A,否则返回B,比如下面:
String a = 1==1 ? "true" : "false";

Python下有两种方式模拟。

第一种:布尔表达式 and A or B
   比如 print( (1==1) and 'true' or 'false' )
   但是注意如果A为''时,始终返回B。所以这种方法是有缺陷的。

第二种:A if 布尔表达式 else B
   比如print( 'true' if (1==1) else 'false' )
   这种是正确方案。


另外Python是动态强类型语言,所以A和B的类型不一定要相同,比如:
var result = 'a' if (1==1) else 2






最后

以上就是精明冰淇淋为你收集整理的python_为什么没有DO WHILE和switch的全部内容,希望文章能够帮你解决python_为什么没有DO WHILE和switch所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部