精华内容
下载资源
问答
  • 2020-05-09 16:16:19

    众所周知python中是没有switch方法的,但是python提供了一些小技巧来解决这个问题,用词典来调用函数,可以用key来直接调用函数,代码如下所示:

    def funcA():
        print('funcA')
    
    def funcB():
        print('funcB')
    
    def funcC():
        print('funcC')
    
    funcName = {'a': funcA, 'b':funcB, 'c':funcC}
    
    funcName['b']()

    运行输出为

    funcB

    友情提醒:以下为错误写法,避免各位入坑

    funcName = {'a': funcA(), 'b':funcB(), 'c':funcC()}

     

     

    更多相关内容
  • 主要介绍了Python基于字典实现switch case函数调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • C语言 switch语句来调用函数

    千次阅读 2020-08-29 19:57:11
    C语言 switch语句来调用函数 如果函数写在主函数后面,则在主函数中必须进行函数声明;如果函数写在主函数前面,可适当不写 getchar只能一个一个的读入字符 switch循环语句中最后必须有default:语句 #include <...

    C语言 switch语句来调用函数

    如果函数写在主函数后面,则在主函数中必须进行函数声明;如果函数写在主函数前面,可适当不写
    getchar只能一个一个的读入字符
    switch循环语句中最后必须有default:语句

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    	void function1(int,int),function2(int,int);
    	char ch;
    	int a=17,b=20;   //给a与b赋初值
    	ch=getchar();    //读入键盘中输入的字符
    	switch(ch)
    	{
    	case'a':
    	case'A':function1(a,b);break;               // 调用function1函数,执行A操作
    	case'b':
    	case'B':function2(a,b);break;               // 调用function2函数,执行B操作
    	default:putchar('\a');                    // 如果输入其他字符,发出警告,\a为响铃符
    	}
    	system("pause");
    	return 0;
    }
    
    void function1(int x, int y)                    // 执行加法的函数
    {
    	printf("x+y=%d\n",x+y);
    }
    
    void function2(int x, int y)                    // 执行乘法的函数
    {
    	printf("x*y=%d\n",x*y);
    }
    
    
    
    展开全文
  • switch time.Now().Weekday().String() { case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday": fmt.Println("it is time to work") fmt.Println(time.Now().Weekday().String()) default: fmt.P...
    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func main() {
    	switch time.Now().Weekday().String() {
    	case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
    		fmt.Println("it is time to work")
    		fmt.Println(time.Now().Weekday().String())
    	default:
    		fmt.Println(time.Now().Weekday().String())
    
    	}
    }
    

     从switch语句调用函数时,无需更改表达式即可修改其逻辑,因为你始终会验证函数返回的内容。

    package main
    
    import (
    	"fmt"
    	"regexp"
    )
    
    func main() {
    	var email = regexp.MustCompile(`^[^@]+@[^@.]+\.[^@.]+`)
    	var phone = regexp.MustCompile(`^[0-9][0-9]+`)
    	contact := "foo@bar.cc"
    
    	// contact := strconv.Itoa(234)
    	fmt.Printf("%T\n", contact)
    	switch {
    	case email.MatchString(contact):
    		fmt.Println(contact, "is an email")
    	case phone.MatchString(contact):
    		fmt.Println(contact, "is an phone number")
    	default:
    		fmt.Println(contact, "is not  recognized")
    	}
    }
    

    package main
    
    import (
    	"fmt"
    	"regexp"
    	"strconv"
    )
    
    func main() {
    	var email = regexp.MustCompile(`^[^@]+@[^@.]+\.[^@.]+`)  //非@开头,@连接后,.连接后面没有@出现大于1次
    	var phone = regexp.MustCompile(`^[0-9][0-9]+`)// 数字开头
    	// contact := "foo@bar.cc"
    
    	contact := strconv.Itoa(234)  //转换int到string, strconv.Itoa()  strconv.Atoi()
    	fmt.Printf("%T\n", contact)
    	switch {
    	case email.MatchString(contact):
    		fmt.Println(contact, "is an email")
    	case phone.MatchString(contact):
    		fmt.Println(contact, "is an phone number")
    	default:
    		fmt.Println(contact, "is not  recognized")
    	}
    }
    

     可以在switch中省略条件

    package main
    
    import (
    	"fmt"
    	"math/rand"
    	"time"
    )
    
    func main() {
    	rand.Seed(time.Now().UnixNano())//随机种子
    
    	r := rand.Float64()
    	fmt.Println(r)
    	switch {
    	case r > 0.1:
    		fmt.Println(" 99% of the time")
    	default:
    		fmt.Println(" 1% of the  time")
    
    	}
    
    }
    

     在某些编程语言中,你会在每个case语句结尾写一个break关键字。go中当逻辑进入某个case时它会退出switch。若要使逻辑进入到下一个紧邻的case,可以使用fallthrough

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	switch num := 15; {
    	case num < 50:
    		fmt.Printf("%d is less  than 50\n", num)
    		fallthrough
    	case num > 100:
    		fmt.Printf("%d is greater than 100\n", num)
    	case num < 200:
    		fmt.Printf("%d is less than 200\n", num)
    	}
    }
    

    展开全文
  • 设计4个函数分别完成以下不同功能。...就调用action1函数,如果输入B,就调用action2函数,如果输入C,就调用action3函数,如果输入D,就调用action4函数。  </p>
  • 1、如果终止一个函数的return即可,实例如下:function testA(){ alert(...2、在函数中调用别的函数,在被调用函数终止的同时也希望调用的函数终止,实例如下:function testC(){ alert(‘c’); return
  • python中没有swich..case,若要实现一样的功能,又不想if..elif来实现,可以充分利用字典进行实现 主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,...

    python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现

    主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入。

    通过调试后,发现问题主要出现在key值对应的value的方法名有没有带()有很大的关系,如下:

    不管bb中的number填写的是多少,总是会输出123

            

     

     

    如果把cs()改为cs,那么只有在调用2的时候才会输出123;或者改下return的方法,可以选择不加()

              

     

    转载于:https://www.cnblogs.com/may18/p/9529011.html

    展开全文
  • Java switch函数

    2018-12-02 16:03:00
    switch()函数中能放置的值为:byte,short,char,int,string,enum类型或者byte,short,char,int的包装类,其中,string类型是java7(含)之后才支持的,其他类型数据会报错, 报错信息为: Cannot switch on a value of type ...
  • 需求说明八个switch组件,同一个回调函数switch组件状态发生变化时需要知道它目前开关状态需要知道当前是哪个switch问题描述按照官方文档对switch事件的描述事件名称说明回调参数changeswitch 状态发生变化时的回调...
  • 我们会遇到这样的需求,对于一个功能,要根据输入条件的不同选择不同的调用函数,我们在C语言中可以使用switch语句,但是python没有SwitchCase的用法,因此需要使用其他方法来进行灵活的使用,以下代码就使用了字典...
  • ``` class supplier { public: supplier(...):... {} void input(); }; void supplier::input() ...报错显示Use of undeclared identifier 'input',在switch语句里怎么调用类中的成员函数
  • matlab里怎么调用函数每一滴泪,每一道疤,是自己成长的代价,小编曾经犹豫过,葛然回首,小编不后悔。先保存你所编写的函数 如函数 function drawsur(surface), switch surface case 'sphere',sphere case '...
  • 在R语言中,switch()函数是多分支结构,其使用方法如下:switch(expr, list)expr为表达式,其值或为一个整数值或为一个字符串。list为一个列表。其运行机理为:如果expr的计算结果为整数,且值在1~length(list)之间...
  • 需求: 在后端返回的数据里面,有个 orderPrice 字段。...这里我们需要使用wxs来完成。具体详见官方文档 代码: test.wxml页面 <!-- 用户处理页面数据,保留两位小数点 --> <wxs module="m1...
  • C++函数定义和调用过程(超详细)

    千次阅读 2021-05-22 08:33:53
    形参列表:调用函数的程序模块可以向其发送数据。形参列表是保存传递给函数的值的变量列表。如果没有值传递给函数,则其形参列表为空。主体:函数的主体是处理函数正在执行的任务的一组语句。这些语句包含在一组大...
  • 如果一个函数在内部调用自身本身,这个函数就是递归函数。递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。使用递归函数需要注意防止栈溢出。自动类型...
  • 由于我有多个String情况应该以相同的方式处理,我试过:switch(str) {// compiler errorcase "apple", "orange", ...在Java中,我是否应该逐个调用相同的函数switch(str) {case "apple":handleFruit();break;// rep...
  • MyTest(int a, int b, int c){ //有参 构造函数 _a = a; _b = b; _c = c; } // 构造中调⽤构造是危险的⾏为 MyTest(int a, int b){ //有参数的构造函数,两个参数 _a = a; _b = b; /
  • 如果代码中有一大波需要调用的函数或希望通过函数名称来调用函数或将函数们放到一个容器里面进行调用(将函数名称放到string[]里面进行调用),使用如下方法可以使调用的逻辑和代码量都更简单且使代码密度更加紧凑。...
  • 了解下函数调用过程,对AUTOSAR分层架构的实现有好处。 1 程序的内存分布 嵌入式系统中,一个函数调用时,它的内部机理是什么,执行了哪些步骤?如图1所示,先看 看 一个程序在运行时,它的内存分布状况。 图1 ...
  • 函数调用关系图

    千次阅读 2021-09-10 14:44:11
    在对源代码走读的过程中,我们可以借助一些工具来帮助理解源代码的结构和函数调用关系,比如生成函数调用关系图。 cflow工具通过分析一组C源文件,绘制出程序的逻辑流程图和交叉引用列表,在此分析结果的基础上,...
  • 内联函数提高函数调用效率

    千次阅读 2018-01-03 20:44:32
    存在函数频繁调用时,内联函数通过牺牲空间换取时间的节省。
  • js如何调用php函数

    千次阅读 2021-03-23 18:06:50
    js调用php函数的方法:jquery.ajax({type: "POST",url: 'your_functions_address.php',dataType: 'json',data: {functionname: 'add', arguments: [1, 2]},success: function (obj, textstatus) {if( !('error' in ...
  • JS调用C函数

    千次阅读 2020-01-19 11:13:23
    1. 使用编译命令就可以将.cpp文件编译为.html文件,并在网页进行运行: ./emcc tests/hello_function.cpp-... 2. ①编译完,你可以使用JavaScript调用cwrap()拿到int_sqrt函数。继而可以进行其他操作。 int_sqr...
  • switch-case改写为函数指针调用形式

    千次阅读 2017-01-05 18:45:30
    switch-case结构过长,会引起查看不方便,可以将长switch-case结构改为这种形式这种方法比较适合switch-case分支处理比较整齐的情况。 #include "stdio.h" #define FUNC_OK 0x01 #define FUNC_FAULT 0x00 enum...
  • 前言本题来自于3W班8月的第二题:请定制ART,完成对APP运行流程中所有的java类函数(包含java函数和jni函数)调用关系的trace。对于Java层的单纯调用关系,可以比较方便的打印。参数的打印还是比较麻烦,Java对象的...
  • 函数指针
  • C++函数调用过程和内置函数详解

    千次阅读 2018-03-12 10:15:01
    ②流程的控制转移到被调用函数入口处,同时进行参数传递;③执行被调用函数中函数体的语句;④流程返回调用函数的下一条指令处,将函数返回值带回;⑤接着执行主调函数未执行的语句。  这样就要求在转到被调用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 366,637
精华内容 146,654
关键字:

如何用switch调用函数