Python的if语句
语句
一般所有高级语言,都包含如下语句,Python也不例外:
- 循环语句:容许一些语句反复运行数次。循环可依据一个默认的数目来决定运行这些语句的次数;或反复运行它们,直至某些条件改变。
- 条件语句:容许仅当某些条件成立时才运行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续运行。
- 无条件分支语句容:许运行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为Goto)、副程序和Procedure等。
循环、条件分支和无条件分支都是控制流程。
if语句
谈到语句,不要被吓住。看下面的例子先:
if a==4: print "it is four" else: print "it is no four"
逐句解释一番,注意看注释.
if a==4: #如果变量a==4是真的,a==4为True,就 print "it is four" #打印“it is four”。 else: #否则,即a==4是假的,a==4为False,就 print "it is not four" #打印“it is not four”。
以上几句话,就完成了一个条件判断,在不同条件下做不同的事情。因此,if语句,常被翻译成“条件语句”。
条件语句的基本样式结构:
if 条件1: 执行的内容1 elif 条件2: 执行的内容2 elif 条件3: 执行的内容3 else: 执行的内容4
执行的内容1、内容2,等,称之为语句块。elif用于多个条件时使用,可以没有。另外,也可以只有if,而没有else。
提醒:每个执行的内容,均以缩进四个空格方式。
例子
输入一个数字,并输出输入的结果,如果这个数字大于10,那么同时输出大于10,如果小于10,同时输出提示小于10,如果等于10,就输出表扬的一句话。
这个问题的流程图:
理解了流程图中的含义,就开始写代码,代码实例如下:
#! /usr/bin/env python #coding:utf-8 print "请输入任意一个整数数字:" number = int(raw_input()) #通过raw_input()输入的数字是字符串 #用int()将该字符串转化为整数 if number == 10: print "您输入的数字是:%d"%number print "You are SMART." elif number > 10: print "您输入的数字是:%d"%number print "This number is more than 10." elif number < 10: print "您输入的数字是:%d"%number print "This number is less than 10." else: print "Are you a human?"
注意,raw_input()函数 是获得用户在界面上输入的信息,而通过它得到的是字符串类型的数据。
>>> a=raw_input() 10 >>> a '10' >>> type(a) <type 'str'> >>> a=int(a) >>> a 10 >>> type(a) <type 'int'> >>> a = int(1) >>> type(a) <type 'int'> >>> b = str(a) >>> b '1'
刚刚得到的那个a就是str类型,如果用int()转换一下,就变成int类型了。
看来int()可以将字str类型的数字转换为int类型,str()可以将int类型的数字转化为str类型.
小知识
上面的那段代码,开始有一行:
#! /usr/bin/env python
这句话以#开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的python解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是/usr/bin python,表示python解释器在/usr/bin里面。但是,如果写成/usr/bin/env,则表示要通过系统搜索路径寻找python解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对Unix系列操作系统而言。对与windows系统,这句话就当不存在。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
干货!MySQL 大表优化方案(1)
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 1、尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED 2、VARCHAR的长度只分配真正需要的空间 3、使用枚举或整数代替字符串类型 4、尽量使用TIMESTAMP而非DATETIME, 5、单表不要有太多字段,建议在20以内 6、避免使用NULL字段,很难查询优化且占用额外索引空间 7、用整型来存IP 索引 1、索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描 2、应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表...
- 下一篇
Python 新功能:或将允许安全工具查看运行时操作
针对 Python 编程语言的新功能提议之一是希望为运行时添加“透明度”,并让安全和审计工具查看 Python 何时可能运行潜在危险的操作。 在当前的形式下,Python 不允许安全工具查看运行时正在执行的操作。 除非这些操作之一产生可能引起警报的特定错误,否则安全和审计工具就会视而不见,攻击者可能正在使用 Python 在系统上执行恶意操作。 PEP-551 为 Python 提出了两个新的 API 但在 Python Enhancement Proposal 551(PEP-551)中,Python 核心开发人员 Steve Dower 已经提出了两个新的 API,这些 API 将使安全工具能够在 Python 执行潜在危险操作时进行检测。 第一个是 Audit Hook API,它可以引发关于某些类型的 Python 操作的警告消息。 “这些操作通常在 Python 运行时或标准库的深处,比如动态代码编译,模块导入,DNS 解析或使用某些模块,如 ctypes,”Dower 说。 安全或审计工具可能会使用这些消息作为可疑事件的警告标志,并在真正造成危害之前标记或阻止 Python...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8