返回顶部
首页 > 资讯 > 后端开发 > Python >python 基础学习 switch 语
  • 425
分享到

python 基础学习 switch 语

基础pythonswitch 2023-01-31 00:01:14 425人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

switch 语法结构:        switch 语句用于编写多分支结构的程序,类似于if...elif...eles语句。        swtch 语句的表达的分支结果比if...elif...lese 语句表达的更清晰,代码的可读

switch 语法结构

        switch 语句用于编写多分支结构的程序,类似于if...elif...eles语句。

        swtch 语句的表达的分支结果比if...elif...lese 语句表达的更清晰,代码的可读性更高。

        ####python并没有提供switch语句######

        但是:Python 可以通过字典实现switch语句的功能。

        实现方法:

                        定义一个字典

                        调用字典的get()获取相应的表达式


范例:

>>> 6/4
1
>>> 6.0/4
1.5
>>> from __future__ import division
>>> 5/2
2.5

# __future__模块      division 精确的除法

下面是一个计算器:

#!/usr/bin/python
#coding:utf-8
from __future__ import division
def jia(x,y):
    return x+y
def jian(x,y):
    return x-y
def chu(x,y):
    return x/y
def cheng(x,y):
        return x*y
def operator(x,o,y):
    x =int(raw_input("plese somthing number:"))
    y =int(raw_input("plese somthing number:"))
    o = raw_input("plese somthing +/*-:")
    if o == '+':
        print jia(x,y)
    elif o == '*':
        print cheng(x,y)
    elif o == '/':
        print chu(x,y)
    elif o == '-':
        print jian(x,y)
    else:
        pass
print operator('x','o','y')

#注意三次判断是多余的,且如果符号错误,执行为空,效率不是很好

如果通过switch编写一个计算器

[root@zabbix tools]# cat switch.py 
#!/usr/bin/python
#coding:utf-8
from __future__ import division

def jia(x,y):
    return x+y

def jian(x,y):
    return x-y

def chu(x,y):
    return x/y

def cheng(x,y):
    return x*y

operator = {"+":jia,"-":jian,"*":cheng,"/":chu}
print jia(2,4)
print jia
print operator["+"](3,4)                               #通过字典取值,省去判断的环节;
[root@zabbix tools]# python switch.py 
6
<function jia at 0x7fc3ecb8fa28>
7
如果字典中没有值或值是错误的:print operator["("](3,4)
报错如:Traceback (most recent call last):
          File "switch.py", line 20, in <module>
            print operator["("](3,4)
        KeyError: '('
所以我们可以使用字典中get的方法:
Traceback (most recent call last): print operator.get["-"](3,4)
  File "switch.py", line 21, in <module>
    print operator.get["-"](3,4)
TypeError: 'builtin_function_or_method' object is unsubscriptable

实现和if相同的操作:

[root@zabbix tools]# cat switch.py
#!/usr/bin/python
#coding:utf-8
from __future__ import division

def jia(x,y):
    return x+y

def jian(x,y):
    return x-y

def chu(x,y):
    return x/y

def cheng(x,y):
    return x*y

operator = {"+":jia,"-":jian,"*":cheng,"/":chu}
def f(x,o,y):
    print operator.get(o)(x,y)                             #将字典中的key带入函数中,类似如if的判断
f(2,"-",4)
[root@zabbix tools]# python switch.py
-2


--结束END--

本文标题: python 基础学习 switch 语

本文链接: https://lsjlt.com/news/182738.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 基础学习 switch 语
    switch 语法结构:        switch 语句用于编写多分支结构的程序,类似于if...elif...eles语句。        swtch 语句的表达的分支结果比if...elif...lese 语句表达的更清晰,代码的可读...
    99+
    2023-01-31
    基础 python switch
  • python学习2-基础语法
    1、常量/变量常量:一旦赋值不可改变,不能重新赋值。python不存在常量。字面常量:一个单独出现的量,未赋值给任何变量或常量。变量:是一个名字,在赋值符号的左边。这个名字可以指代赋值符号右边的内容。i = 3除行首的空格,其它地方空格无意...
    99+
    2023-01-31
    语法 基础 python
  • python 基础学习
    #此代码关于python函数调用的理解学习#还不明白这段代码如何实现调用的!!!def apply_twice(func, arg):return func(func(arg)) def add_five(x):return x + 5 p...
    99+
    2023-01-31
    基础 python
  • Python基础学习
    第一个 Python 程序:Hello Worldprint("Hello World!")Python 控制流:if-else, if-elif-else:    if-else 语法:if 判断条件:     执行语句…… else: ...
    99+
    2023-01-31
    基础 Python
  • Python学习之基础语法介绍
    目录前言基础语法编码注释行与缩进多行语句import与from…import前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编...
    99+
    2024-04-02
  • Python学习 :socket基础
     socket基础   什么是socket?   - socket为接口通道,内部封装了IP地址、端口、协议等信息;我们可以看作是以前的通过电话机拨号上网的年代,socket即为电话线   socket通信流程   我们通过下面的图来了解...
    99+
    2023-01-31
    基础 Python socket
  • Python基础学习(二)
    Python函数总结 一、函数的基本用法 1、概念: 函数是对程序逻辑进行结构化或是过程化的一种编程方法,其是组织好的,可重复使用的,用来实现单一,或者相同功能的代码段。 函数提高了应用点的模块性和代码的重复利用率 本质:函数是对功...
    99+
    2023-01-30
    基础 Python
  • python基础学习1
    一.python第一个程序 print("hello world") 二.变量的命名规则   1. 字母数字下划线组成  2. 不能以数字开头,不能含有特殊字符和空格  3. 不能以保留字命名  4. 不能以中文命名  5. 定义的...
    99+
    2023-01-30
    基础 python
  • python基础学习2
    一.算数运算符 +加法,-减法,*乘法,/除法,//地板除,%求余,**幂运算。 二.逻辑运算符 非not、且and、或or。优先级依次为not,and,or。 三.print()end结尾 print()#默认为print(end="...
    99+
    2023-01-30
    基础 python
  • python基础学习3_if_for
    if用于条件判断,如果满足条件就执行否则就继续直到结束,熟悉shell条件判断就觉得so easy格式:if condition1:  execute commandelif condition2:  execute commandelse...
    99+
    2023-01-31
    基础 python _if_for
  • java语言基础学习
    个[@more@]string 类的主要方法public int length()public char charat(int index)public string tolowercase()public string toupperca...
    99+
    2023-06-03
  • python学习-4 python基础-
    条件语句的原理:     2.举个例子:比大小   #!/usr/bin/env python # -*- coding:utf8 -*- a=input("请输入a:") b=input("请输入b:") if a >...
    99+
    2023-01-31
    基础 python
  • python学习-3 python基础-
    1.基础知识 ~后缀名是可以是任意的 ~导入模块时,如果不是.py就会报错 =》》所以尽量后缀名携程.py 2.执行方式 -python解释器 3.   #!/usr/bin/env python          -----------...
    99+
    2023-01-31
    基础 python
  • python学习-5 python基础-
    1.if的基本语句     if条件:            内部代码块      else:             。。。。。。。。        print(‘。。。。。。。’) 2.if语句支持嵌套   if条件:        ...
    99+
    2023-01-31
    基础 python
  • python学习之路--python基础
    本文主要介绍下python列表的的一些基本操作 列表是我们在python编程中常用的数据类型之一,通过列表我们可以对数据实现最方便的存储、修改等操作。 定义列表  1 names=['ZhangSan','LiSi','WangWu'] ...
    99+
    2023-01-30
    之路 基础 python
  • python基础学习19----sock
    网络通信三要素 ip地址:InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号:用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议:通讯的规则 常见协议:TCP,UDP IP地址...
    99+
    2023-01-30
    基础 python sock
  • Python 基础知识学习
    1、Python 基础教程      Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。2、执行Python程序     实例(Python 2.0+)     print "Hello, World!";  3、环境搭建...
    99+
    2023-01-31
    基础知识 Python
  • Python学习基础篇(一)
    Python简介和入门Python简介走进Pythonpython的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一...
    99+
    2023-01-31
    基础 Python
  • Python基础学习入门
    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。在命令行窗口输入"python" 命令来查看本地是否已经安装Python以及Python的安装版本Python下载Python官网:http://www...
    99+
    2023-06-02
  • python学习总结二(python基础
    转眼间已经2月份了,python学习总结二进行中ing,今年的目标和打算。。。哎动力哪来,继续吧。 总结上篇 就是 对python 说包含的东东(字符串,数字,变量,操作符,函数,模块,类,列表,等) 总体简单解释下。 后面详细说明 一.语...
    99+
    2023-01-31
    基础 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作