当前位置: 首页 > 编程日记 > 正文

《Python基础教程第二版》第五章-条件、循环和其他语句(一)

print和import

print打印多个表达式,用逗号,隔开

print 'abc:', 42, 'nonono'
#输出在每个参数之间添加空格

print在结尾处加上逗号,,接下来的语句会与前一条语句打印在同一行

print 'hello',
print 'word!'
#hello word!

import从模块中导入函数

import module
from module import function
from module import function,function2,function3
from module import*

as子句,给出想要使用模块的别名

import math as fu1
fu1.sqrt(4)from math import sqrt as fun2   
fun2(4)

赋值

序列解包/递归解包

多个赋值操作同时进行

x,y,z = 1,2,3

交换变量

x,y = y,x

popitem
popitem 获取并删除字典中任意的键值对,返回键值对元组,可以直接赋值到两个变量中。

scoundrel = {'name':'Robin', 'girlfriend':'Marion'}
key, value = scoundrel.popitem()

Note:

所解包的序列中的元素数量必须和赋值符号=左边的变量数量完全一致。
#除非使用星号运算符:
# a,b,*rest = [1,2,3,4]
# rest结果为[3,4]

链式赋值

x = y = function()

增量赋值

x = 2 
x += 2

语句块:缩进排版

创建语句块:

代码前放置空格缩进语句可以创建语句块。
Note: 块中的每行都应该缩进同样的量。
line1
line2:blocksame blockthe last bolck
line3

其中,

1. 冒号:标识语句块开始;
2. 块中每一个语句都是缩进相同量;
3. 退回到和已经闭合的块一样的缩进量时,表示当前块结束。

条件和条件语句

布尔变量

假fales(0)

Fales None 0 "" () [] {}
#其他都为真true(1)

bool函数

bool('I think I'm ok.')
#true,一般Python会自动转换这些值

if语句

if

name = raw_input(‘your name:’)
if name.endwith('afra'):print 'hell, afra!'

else

name = raw_input(‘your name:’)
if name.endswith('afra'):print 'hell, afra!'
else:print 'who?'

elif
检查多个条件,else if简写

num = input('number:')
if num > 0:print '>0'
elif num < 0:print '<0'
else:print '0'

嵌套
if嵌套if语句

name = raw_input('name?')
if name.endswith('afra'):if name.startswith('Mr.'):print 'Mr.afra!'elif name.startswith('Mrs.'):print 'Mrs.afra'else:print 'afra'
else:print 'who?'        

运算符

  1. 比较运算符

    < 
    == 
    >
    >= 
    <= 
    != 
    is  同一对象
    is not  不同对象昂
    x in y  x是y容器的成员
    not in    不是容器内的成员

连接运算符
比较运算符和赋值运算符都可以连接

0 < age < 10
  1. 相等运算符
    ==
  2. is同一性运算符

    `is`判定同一性,而不是相等性.
    使用`==`运算符来判定两个对象是否相等,使用`is`判定两个是否是同一个对象。
  3. in成员资格运算符

    name = raw_input('name?')
    if 's' in name:print 's'
    else:print '?'
  4. 字符串和序列比较

    字符串可按照字母顺序比较。
    字母的顺序值可以用 ord函数 查到
    ord()和chr()功能相反
    忽略大小写可以使用 upper()\lower()'KiJ'.lower() == 'kIj'.lower()
  5. 布尔运算符
    and / or / not

    number = input('number?')
    if number <= 10 and number >=1:print 'yes'
    else:print 'no'
    #连接比较 
    1 <= number <= 10#三个运算符结合
    if ((cash > price) or customer_has credit) and not out_stock:give()     
    #短路逻辑
    略
    #Python内置条件表达式
    a if b else c
    b为真,返回a;否则,返回c
    

断言

asser

if not condition:crash program

可以要求某些条件必须为真,例如,检查函数参数的属性、作为初期测试和调试过程中的辅助条件。

age = 10
assert 0 < age < 100
age = -1
assert 0 < age < 100, 'must be realistic'

相关文章:

【Qt】QStackedWidget:将多个窗口控件放入堆中,每次只显示一个窗口控件

1、简介 QStackedWidget可以容纳多个窗口控件,每次只显示其中一个。例如:登录页面、各种功能页面等不同时显示的窗口,可以放入QStackedWidget中。 2、demo // 创建三个页面 QWidget *firstPageWidget = new QWidget; QWidget *secondPageWidget = new QWidget; QWidget *…

Android模仿iPhone View旋转刷新数据动画详解

因为小马很喜欢在不同的页面之间跳转时加点好玩的动画&#xff0c;今天无意间看到一个动画效果感觉不错&#xff0c;几种效果图如下&#xff0c;既然好玩就写在博客中&#xff0c;直接说就是&#xff1a;该效果类似于iPhone中View的切换动画效果&#xff0c;今天就只介绍上面展…

【SQL】sql语句LEFT JOIN(拼接表)详解

1、语法 SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_nametable2.column_name;2、说明 按照一定规则&#xff0c;将表table1和表table12拼接起来。下面以学生管理系统为例&#xff0c;学生管理系统数据库各表如下 课程表&#xff1a; 学生表 成绩…

找啊找啊找木偶,图灵奖得主G. Hinton第一篇论文曝光!

作者 | Geoffrey Hinton 译者 | 李倩编辑 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;摘要针对在具有重叠结构的透明矩形中寻找木偶这一问题&#xff0c;Hinton大神想到使用松弛算法&#xff0c;通过从冲突局部解释网络中提取全局最佳图形的方式找木偶。介…

终于,「最近邻搜索」有通用方法了

作者&#xff1a;Kevin Hartnett 编译&#xff1a;Bing 如果你打算开一家咖啡馆&#xff0c;你一定想知道&#xff1a;“附近最近的一家咖啡馆在哪&#xff1f;”了解这些信息有助于应对商业竞争。 这种现象是计算机科学中广泛研究的问题&#xff0c;称为“最近邻搜索”。它的问…

tar自动打包指定文件夹中的文件到指定目录

这是我离开上一家公司&#xff0c;到XX人寿保险公司的第一个工作内容&#xff0c;很简单&#xff0c;可以减少每天重复的工作量。写一个脚本&#xff0c;将指定文件夹下的所有文件打包成以日期命名的格式并存放到其父目录中&#xff0c;自动检测该压缩包&#xff0c;保留时间为…

【SQL】sql语句GROUP BY

1、语法 SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;2、说明 先对数据集分组&#xff0c;再根据规则批量处理每组数据。 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组&#xff0c;所谓的分组就是将…

色情低俗、暴力恐怖内容...如何用AI“一网打尽”?

作者 | Rachel、Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;移动互联网时代催生了大量的多媒体数据&#xff0c;每天在社交平台、长短视频、直播平台、新闻资讯等内容平台产生了数以亿计的图片和视频&#xff0c;这些数据的内容审核面临严峻的挑战。人工审核…

想要学好Go语言的必须知道的一个小技巧

2019独角兽企业重金招聘Python工程师标准>>> 由于我转Go语言比较早&#xff0c;很多认识我的&#xff0c;转Go或学习Go的同学遇到问题&#xff0c;经常会过来问我&#xff0c;然后&#xff0c;我发现。 除了学习Go语言可以看那些资料&#xff0c;这个问题以外&#…

【CSS3教程】CSS3基础常用技巧实例集合

为什么80%的码农都做不了架构师&#xff1f;>>> CSS3常用技巧 CSS3下条纹&方格斜纹背景的实现 一、效果抢先&#xff1a;CSS3下的条纹背景demo 这些美丽的纹饰全部都是由CSS实现的&#xff0c;没有一点点的图片。 二、原理简述 主要是应用了两个CSS3的属性&…

【FFmpeg】ffmpeg工具源码分析(二):转码核心函数 transcode

1、转码流程 1)转码前初始化:打开输入输出文件,初始化编码器、解码器、过滤器,创建多线程,设置串口终端等; 2)while循环处理每一包数据,核心函数 transcode_step(稍后分析); 3)转码结束前收尾工作:关闭多线程,刷新编解码缓冲区,恢复串口终端设置,向输出文件写…

在CentOS7上部署Apache Mesos

概述 Apache Mesos是一款基于多资源&#xff08;内存、磁盘、CPU、端口等&#xff09;调度的开源集群管理套件&#xff0c;能使容错和分布式系统更加容易。 工作原理 Apache Mesos采用了Master/Slave结构来简化设计&#xff0c;将Master做得尽可能轻量级&#xff0c;仅保存了各…

CTA核心技术及应用峰会开幕!(附第二日参会攻略)

全球智能化趋势当前&#xff0c;人工智能技术正蓬勃发展。为了直击开发者在机器学习与人工智能技术研究与落地过程中的痛点与瓶颈&#xff0c;深入解析机器学习和知识图谱技术在行业中的实践和落地。2019 年 5 月 26 - 27 日&#xff0c;由中国 IT 社区 CSDN 与数字经济人才发展…

Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)

这里总结一下关于使用ECMAscript对象模型来操作Goup与User的常用情况&#xff0c;因为内容较多&#xff0c;所以拆分为两个部分&#xff0c;这部分主要内容如下: 1、取得当前Sharepoint网站所有的Group 2、获取当前登录用户的Title与所属Group 3、获取指定Group下的…

【FFmpeg】ffmpeg工具源码分析(三):分配过滤器内存(宏GROW_ARRAY)详解

0、引言 在ffmpeg.c源码的核心函数transcode() 中,先执行初始化操作transcode_init() ; 首先初始化过滤器filtergraphs,在寻找过滤器在哪分配时,发现它使用宏GROW_ARRAY以增长的方式来分配内存。 1、GROW_ARRAY原型 #define GROW_ARRAY(array, nb_elems)\array = grow_a…

技术引路:机器学习仍大有可为,但方向在哪里?

整理 | CTA 直播小分队出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;杭州国际博览中心&#xff0c;这里曾经是二十国集团领导人第十一次峰会的主场馆&#xff0c;5 月 26 日 CTA 核心技术与应用峰会&#xff08;杭州&#xff09;同样在这里正式召开&…

基于GTID模式MySQL主从复制

基于GTID模式MySQL主从复制 GTID复制原理&#xff1a;基于GTID的复制是MySQL 5.6后新增的复制方式GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交的事务在集群中有一个唯一的ID.在原来基于日志的复制中, 从库需要告知主库要从哪个偏移量positio…

NET Framework 2.0中的数据访问新特性

1异步数据访问 a)支持异步数据编程 b)SqlConnection – BeginOpen – EndOpen c)SqlCommand – BeginExecuteNonQuery – BeginExecuteReader – BeginExecuteXmlReader – EndExecuteNonQuery – EndEx…

【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理

1、带宽 1.1 解释一 带宽&#xff0c;又叫频宽&#xff0c;是数据的传输能力&#xff0c;指单位时间内能够传输的比特数。高带宽意味着高能力。 数字设备中带宽用bps(b/s)表示&#xff0c;即每秒最高可以传输的位数。 模拟设备中带宽用Hz表示&#xff0c;即每秒传送的信号周期…

这可能是最全的机器学习工具手册!

作者 | 红色石头转载自 AI有道&#xff08;ID:redstonewill&#xff09;工欲善其事必先利其器&#xff01;之前我也断断续续给大家发文整理过一些关于数据科学&#xff0c;尤其是机器学习、深度学方面的速查手册&#xff01;但是&#xff0c;每次分享的都比较是针对某一块的内容…

保持分布式团队同步

分布式团队最大的挑战是沟通&#xff0c;这对建立协作的基本原则必不可少。调整工作时间&#xff0c;互相适应&#xff0c;而团队联络员有助于沟通和同步工作。以信任、尊重和开明为基础的团队会鼓励组织中的人们互相帮助&#xff0c;培养一种使团队保持同步的文化。\\SkuVault…

Word2010开发——操作文档

参考&#xff1a; http://blog.csdn.net/akipeng/article/details/6534375 http://www.haogongju.net/art/19029 首先建立一个Word外接程序&#xff08;Word AddIn&#xff09;&#xff08;家里的Vs竟然是中文版&#xff0c;汗&#xff01;&#xff09; 接着在项目中新增项&…

【驱动】ubuntu安装内核头文件

1、检查是否已经安装 使用dpkg-query命令检查是否有可用的内核头文件。 $ dpkg-query -s linux-headers-$(uname -r) 如果输出显示install ok installed说明已经安装成功 Package: linux-headers-4.15.0-142-generic Status: install ok installed2、安装内核头文件 $ sudo…

嫌Terminal终端太单调?快收下这几个有趣的改造工具!

整理 | Rachel责编 | 琥珀出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;【导语】Terminal&#xff08;终端&#xff09;是程序员常用的工具之一&#xff0c;常用于系统的相关配置修改。系统自带的 terminal 较为简单&#xff0c;很多 Github 的开源项目都尝试对终端…

关于matlab向文件写入数据的方法——留着备用

MATLAB数据采集的时候&#xff0c;往往需要把得到的数据保存下来。 fid fopen(文件名&#xff0c;‘打开方式’)&#xff1b; 说明&#xff1a;fid用于存储文件句柄值&#xff0c;如果fid>0&#xff0c;这说明文件打开成功。打开方式有如下选择&#xff1a; ‘r’&#xff…

js在页面滚动到一定位置时触发事件?

function getTop(e) {var offsete.offsetTop;if(e.offsetParent!null) //只要还有父元素,也就是当前元素不是根节点就继续往上累计元素的高度offsetgetTop(e.offsetParent);return offset; } var myBlockTop getTop(document.getElementById("homepageBanner")); va…

【C语言】学习笔记3——字符串

1. 字符串&#xff08;charcacter string&#xff09;是一个或多个字符的序列 2. C语言没有专门用于存储字符串的变量类型。字符串都被存储在char类型的数组种。 3. 数组由连续的存储单元组成&#xff0c;字符串种的字符被存储在相邻的存储单元中&#xff0c; 每个单元存储一个…

Facebook 的AI翻身之战!

作者 | Michael K. Spencer译者 | 王艳妮&#xff0c;责编 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;Facebook最近举办了F8会议&#xff0c;这是了解这个平台未来发展的绝佳机会。 F8是Facebook的年度开发者大会——一个为期数日的活动&#xff0c;期间…

【Linux驱动】ThinkPad笔记本wifi模块rtl8821ce在ubuntu16.04的驱动(默认没有)

0、wifi模块型号 在win10下设备管理器中查看&#xff0c;型号为&#xff1a;Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC 1、问题描述 在ThinkPad上安装win10ubuntu16.04双系统后&#xff0c;在win10下wifi可以正常使用&#xff0c;但是在ubuntu下没有wifi列表。 2、…

关于Linux的inode和dentry的一组文章

先mark一下&#xff0c;有时间再看。 http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.htmlhttp://www.thegeekstuff.com/2012/01/linux-inodes/http://blog.chinaunix.net/uid/7828352/frmd/-1.htmlhttp:/…