整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

01.结构 - Python控制结构 if 条件语句

希望系统性学习一门编程语言的朋友请关注我,本专栏后续会持续分享优质文章。

介绍

本篇为第五篇介绍Python知识的文章,本篇也开始接触到该门语言的逻辑语法部分,这一部分在编程语言中使用很广泛,小到一段语句,大到一个模块里面都有很多逻辑判断语句,所以很有必要细致的去理解它,并将他的一些常用格式熟记于心,好了开始我们下面的文章。

重要事项

本节主要编写的为Python语句中if语句的编写要求:

  • 语句格式 - if语句编写格式要求
  • 语句逻辑 - if语句的主要逻辑结构

演示过程

  1. 依然要调出我们系统的CMD命令
  2. 进入Python环境的交互界面
  3. 编写一段if语句程序,来体验逻辑语句的功能
>>>
>>> if 1 > 2:
...           print('a')
...      else:
...           print('b')
...
b
>>>

本段程序为一个简单的 if...else 语句,这个语句主要是进行二个数做大小的判断,得出的结果为一个bool值,if语句在bool值为True时执行打印字符a,为False时执行打印字符b,通过这样一段代码我们就可以大概的看到if语句的执行条件,执行过程等情况。

重点详解

针对 if 结构语言本专栏做了以下细致的总结,大家可以细致的体会其语法作用。

  • 语句格式

if语句的基本语法如下所示:

if condition:
      # 如果条件为True,则执行这里的代码块
      # 可以有多行代码
else:
      # 如果条件为False,则执行这里的代码块
      # 可以有多行代码

if语句中,condition是一个表达式,可以是返回TrueFalse任何东西

常见的比较运算符包括:

    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于
    • ==:等于
    • !=:不等于

多个条件:

你也可以使用逻辑运算符组合多个条件:

    • and:与,两个条件都为True时结果为True
    • or:或,两个条件中有一个为True时结果为True
    • not:非,将True变为False,将False变为True
  • 语句结构

单向分支结构:

if <条件表达式>:
     执行语句
     ...

双向分支结构:

if <条件表达式>:
     执行语句
     ...
else:
     执行语句
     ...

多分支结构:

if <条件表达式>:
     执行语句
     ...
elif <条件表达式>:
     执行语句
     ...
else:
     执行语句
     ...

存在多个elif语句时,Python会按照顺序逐个检查每个条件,执行第一个满足条件的代码块,然后跳过其他条件的检查。如果前面的elif条件满足了,那么后面的elif语句就不会再被执行。

嵌套分支结构:

if <条件表达式>:
     if <条件表达式>:
         执行语句
         ...
     else:
         执行语句
         ...
else:
      if <条件表达式>:
         执行语句
         ...
      else:
         执行语句
         ...

注意:每一层的缩进格式要统一,否则可能会导致意想不到的情况。

参考

  • Python官方手册 - https://docs.python.org/zh-cn/3/reference/compound_stmts.html#the-if-statement

让优质的技术更自由、开放的传播,我是「技术小剑客」欢迎你的关注和留言。

在 2011 年开始写CSS的时候),从来没有怀疑过这种语言会发生多大的变化。我还记得使用PIE.htcborder-radius 适配所有浏览器,我的同事做了一个PHP脚本,生成一个PNG来圆角。

然而,在过去的几年中出现了大量的CSS新特性。其中一些语句也可以被视为if语句,比如@supports样式:

@supports (border-radius: 50%) {
  // don't use PIE.htc! {}
}

还有一个经典的媒体查询,已经存在了十多年:

@media (max-width: 1000px) {
  //maybe a mobile sized device? {}
}

还有一个新的 camp(),有点不同 :

width: clamp(1000px, 50%, 10vw);

但像这样的行为:

width: clamp(1000px >= (50% >= 10vw));

看得头疼。

但这些都可以说只是 if 语句。如果我们想要一个 if/else 语句,我们需要做这样的事情。

@media (max-width: 1000px) and (prefers-color-scheme: dark) {
   //maybe a mobile device in dark mode {}
}
@media (max-width: 1000px) and (prefers-color-scheme: light) {
   //maybe a mobile device in light mode {}
}

这很烦人。

但好消息是 在新提议的 @When 特性可以解决我们的烦恼。它这么用:

@when media(max-width: 1000px) {
   // 做点什么
}

这很酷,但更酷的是还有 else:

@when media(max-width: 1000px) {
   // 移动
} @else {
   // 平板
}

机智的你可能也想到了,那肯定还有 else if 了,没错还真有:

@when media(max-width: 1000px) {
   // 平板
} @else media(max-width: 700px) { {
   // 移动 
} @else {
   // PC
}

我们也有可能可以这样做:

@when media(max-width: 700px) {
   @when (prefers-color-scheme: dark) {
      //dark mode on mobile device
   } @else {
      //light mode on mobile device 
   }
}

我说 "可能" 是因为该特性还在提案中,但我相信最终会出来的(没出来我把头发染绿)。

目前(20211023),浏览器的支持情况是怎样的?零。少到连 Can I Use 都没有。但随着新的CSS样式不断推出,我相信我们很快就会看到它。


作者:Kenton de Jong 译者:前端小智 来源:codingnconcept 原文:https://kentondejong.medium.com/css-is-finally-getting-if-else-statements-3fabcec72a1f

、流程控制

1. 作用:控制代码的执行顺序

2. 分类

2.1顺序结构:从上到下依次执行代码语句

2.2选择结构:

1. if语句

简单if结构

if(条件表达式){
    表达式成立时执行的代码段
}

注意 : 除零值以外,其他值都为真,以下条件为假值false

if(0){}
if(0.0){}
if(""){} //空字符串
if(undefined){}
if(NaN){}
if(null){}

特殊写法 : { }可以省略,一旦省略,if语句只控制其后的第一行代码

2. if - else结构:

if(条件表达式){
//条件成立时执行
}else{
//条件不成立时选择执行
}

3.多重分支结构:

if(条件1){
      //条件1成立时执行
  }else if(条件2){
      //条件2成立时执行
  }else if(条件3){
      //条件3成立时执行
  }...else{
      //条件不成立时执行
  }

2. switch语句:

语法 :

switch(value){
case 值1 :
//value与值1匹配全等时,执行的代码段
break; //结束匹配
case 值2 :
//value与值2匹配全等时,执行的代码段
break;
case 值3 :
    //value与值3匹配全等时,执行的代码段
break;
default:
//所有case匹配失败后默认执行的语句
break;
}

使用时要注意的:

1. switch语句用于值的匹配,case用于列出所有可能的值;只有switch()表达式的值与case的值匹配全等时,才会执行case对应的代码段
2. break用于结束匹配,不再向后执行;可以省略,break一旦省略,会从当前匹配到的case开始,向后执行所有的代码语句,直至结束或碰到break跳出
3. default用来表示所有case都匹配失败的情况,一般写在末尾,做默认操作
4. 多个case共用代码段
          case 值1:
          case 值2:
          case 值3:
          //以上任意一个值匹配全等都会执行的代码段

3.循环结构:

作用 根据条件,重复执行某段代码

1. while循环:

定义循环变量;
  while(循环条件){
  条件满足时执行的代码段
  更新循环变量;
}

2. do-while循环:

do{
循环体;
更新循环变量
}while(循环条件);

while 与do-while循环的区别 :

while 循环先判断循环条件,条件成立才执行循环体

do-while 循环不管条件是否成立,先执行一次循环体

3. for 循环

for(定义循环变量;循环条件;更新循环变量){
    循环体;
}

循环控制 :

break 强制结束循环

continue 结束当次循环,开始下一次循环 循环嵌套 : 在循环中嵌套添加其他循环

二、函数

函数的作用:封装一段待执行的代码

语法:

 //函数声明
  function 函数名(参数列表){
      函数体
      return 返回值;
  }
  //函数调用
  函数名(参数列表);

使用: 函数名自定义,见名知意,命名规范参照变量的命名规范。普通函数以小写字母开头,用于区分构造函数(构造函数使用大写字母开头,定义类)

三,匿名函数

匿名函数:省略函数名的函数。

语法为:

匿名函数自执行

(function (形参){
 
})(实参);

定义变量接收匿名函数:

var fn = function (){};
fn(); //函数调用

四,作用域

JavaScript 中作用域分为全局作用域和函数作用域,以函数的{ }作为划分作用域的依据

1,全局变量和全局函数

只要在函数外部使用 var 关键字定义的变量,或函数都是全局变量和全局函数,在任何地方都可以访问

所有省略 var 关键字定义的变量,一律是全局变量

2,局部变量/局部函数

在函数内部使用 var 关键字定义的变量为局部变量,函数内部定义的函数也为局部函数,只能在当前作用域中使用,外界无法访问

3,作用域链 局部作用域中访问变量或函数,首先从当前作用域中查找,当前作用域中没有的话,向上级作用域中查找,直至全局作用域

作者:YJ-TX

原文:https://www.cnblogs.com/yjtxin/p/12969576.html