Day4

发布时间 2023-11-30 01:20:35作者: berber288

DAY 4

chapter 4 条件 conditons

python 内置了一个函数叫 abs() 用于绝对值计算,所以我i们将函数命名成 abs1,abs2

if-else 语句 if-else statement

例如:

1 def abs5(n):

2 if n >= 0:

3 return n

4 else:

5 return -n

1 def abs6(n):

2 if n >= 0:

3 sign = +1

4 else:

5 sign = -1

6 return sign * n

 

if-else 推导式

1 def abs7(n):

2 return n if (n >=0) else -n

 

MATCH-CASE 语句

case _:类似于 C 和 Java 中的 default: 当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。

例如:

def https_error(status):

match status:

case 400:

return "Bad request"

case 404:

return "Not Found"

case 418:

return "I'm a teapot"

case _:

return "Something's wrong with the internet"

 

mystatus = 400

print(https_error(400))

课外:HTTP 响应状态码

HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成,响应归为以下五大类:

1.信息响应(100 - 199)

2.成功响应(200 - 299)

3.重定向消息(300 - 399)

4.客户端错误响应(400 - 499)

5.服务器错误响应(500 - 599)

401 Unauthorized

虽然 HTTP 标准指定了"unauthorized",但从语义上来说,这个响应意味着"unauthenticated"

也就是说,客户端必须对自身进行身份验证才能获得请求的响应

402 Payment Required

此响应代码保留供将来使用,创建此代码的最初目的是将其用于数字支付系统,但是此状态代码很少使用,并且不存在标准约定。

403 Forbidden

客服端没有访问内容的权限; 也就是说,它是未经授权的,因此服务器拒绝提供的资源。与401 Unauthorized 不同,服务器知道客户端的身份。

404 Not Found

服务器找不到请求的资源。在浏览器中,这意味着无法识别 URL。在 API 中,这也可能意味着端点有效,但资源本身不存在。服务器也可以发送此响应,而不是 403 Forbidden,以向未经授权的客户端隐藏资源的存在。这个响应代码可能是最广为人知的,因为它经常出现在网络上。

405 Method Not Allowed

服务器知道请求方法,但目标资源不支持该方法。例如,API可能不允许调用 DELETE 来删除资源

406 Not Accectable

当 web 服务器在执行服务器驱动型内容协商机制后,没有发现任何符合用户代理给定标准的内容

418 I'm a teapot

服务端拒绝用茶壶煮咖啡,典故来源于茶壶冲泡咖啡

清晰的代码风格 CLARITY AND STYLE

用 if 的时候就多思考 elif 因为全 if 风险太大了

使用一些 trick,(比如用算数逻辑来代替布尔逻辑)

比如:

1 #并不清晰的:

2 x = 4

3 Y = ((X>0) and 99)

总结

  • Conditions Make Decisions

  • if-else 结构构成了Python分支控制,if还能嵌套使用

  •