30天python从零到一---第四天:python基础语法

Posted 披星戴月的贾维斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30天python从零到一---第四天:python基础语法相关的知识,希望对你有一定的参考价值。

🍎 博客主页:🌙@披星戴月的贾维斯
🍎 欢迎关注:👍点赞🍃收藏🔥留言
🍇系列专栏:🌙 Python专栏
🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙
🍉一起加油,去追寻、去成为更好的自己!


文章目录

提示:以下是本篇文章正文内容,下面案例可供参考


🍎1、顺序语句

🔥1.1、顺序语句的概念 ?🔥

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的。
这个顺序是不会乱的

print("111")
print("2111")
print("3111")

执行结果一定为 “111 2111 3111”, 而不会出现 "3111 2111 111"等. 这种按照顺序执行的代码,我们称为顺序语句。
这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行执行.


🍎2、条件语句

🔥2.1、什么是条件语句 ?🔥
条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的逻辑判定。
条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向

举个例子:
如果我在学校里没有买电动车
1.那么我去教室得走路去,如果起得晚,很可能会迟到
2.那么我去教室或者去其他远点的地方得骑共享单车,或者坐别人的车。…

例子2:
如果我认真敲代码
我就很容易找到工作
否则
我就容易毕业就失业

其中 “我认真敲代码” 称为 条件. 如果条件成立(条件为真), 则会出现 “我就很容易找到工作” 这个情况. 如果条件不成立(条件为假), 则会出现 “我就容易毕业就失业”.

🔥2.2、语法格式 ?🔥
Python 中使用 if else 关键字表示条件语句
(1) if

if expression:
 do_something1
 do_something2
next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2) if - else

if expression:
 do_something1
else:
 do_something2

如果 expression 值为 True, 则执行 do_something1
如果 expression 值为 False, 则执行 do_something2

(3) if - elif - else

if expression1:
 do_something1
elif expression2:
 do_something2
else:
 do_something3

如果 expression1 值为 True, 则执行 do_something1
如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意: Python中的条件语句写法, 和很多编程语言不太一样.

  • if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
  • if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了).

代码示例:

choise = input("输入1 表示买了电动车  输入2 表示没买电动车:")

# 注意这里比较的是字符串 1,而不是整数1 ,整数需要int()强转

if choise == '1':
    print('你能更快去上课')
else:
    print('得去走路上课')


我们还可以对代码进行改进,因为用户可能输入既不是1,也不是2,我们要把这种判定为非法操作。

choise = input("输入1 表示买了电动车  输入2 表示没买电动车:")

# 注意这里比较的是字符串 1,而不是整数1 ,整数需要int()强转

if choise == '1':
    print('你能更快去上课')
elif choise == '2':
    print('得去走路上课')
else:
    print('用户输入非法!')

🔥2.2、缩进和代码块 ?🔥

代码块 指的是一组放在一起执行的代码.
在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的.

#     代码1 
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
#    代码2
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")

**注意上述代码的区别.
在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件
不成立, 则不执行.
在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件
无论是否成立, 都会执行. **

Python 嵌套代码

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
    if b == "2":
        print("hello")
    print("world")
print("python")

在这个代码中,

print(“hello”) 具有两级缩进, 属于 if b == “2” 条件成立的代码块.
print(“world”) 具有一级缩进, 属于 if a == “1” 条件成立的代码块.
print(“python”) 没有缩进, 无论上述两个条件是否成立, 该语句都会执行

基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进, 来明确代码之间的相对关
系. 如果缩进书写的不对, 则直接报错.

像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.
同时, 带来的坏处就是, 如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级.

上点让人读起来难受的代码

if a == 1:
    if b == 2:
        if c == 3:
            if d == 4:
                if e == 5:
                    if f == 6:
                        if g == 7:
                   print("hello")
               print("1")
     print("2")

因此, 就有了 “写 Python 需要自备游标卡尺” 这个梗.

🍎3、空语句 pass

代码示例: 输入一个数字, 如果数字为 1, 则打印 hello

a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")

这个代码也可以等价写成

a = int(input("请输入一个整数:"))
if a != 1:
 pass
else:
    print("hello")

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求

a = int(input("请输入一个整数:"))
if a != 1:
else:
print("hello")

程序是不符合 Python 语法的, 会直接报错.

🍎4、总结

    本文总共介绍了顺序语句,条件语句,空语句 pass等三个知识点,希望大家读后也能有所收获!

Flask从零到一 1 | 虚拟环境和第一个flask程序

                         


         本文约2500字,阅读大概需要7分钟

大约还有二十天假期时间,这二十天我准备跟进一个Flask入门系列,大致会分为10-12篇文章。虽然我以后不想做开发,但是Web开发热度还是挺高的,所以就用了一段时间学习了一下,下学期也会有与Web有关的课程,如果对Flask感兴趣的话,可以持续跟进,希望这个系列可以帮到伙伴们。

第一篇主要包括两个方面,一方面是学习Flask之前的准备工作,比如配置相应的环境以及下载一些工具;另一方面就是编写第一个Flask简易程序。

Flask是支持Python2 和 Python3两个版本的,但是在我接触Python的时候已经更新到3.6了,所以我也没有关注Python2。我相信伙伴们应该也大多都在用Python3,所以这个系列会以Python3为基础,Flask的版本使用最新的即可。

这里只对Flask做一个简要的介绍,Flask是一个微框架,本身相当于一个内核,只保留了核心功能:请求响应处理和模板渲染。这两个功能分别有Werkzeug和Jinja实现,Flask本身也包装了这两个依赖,但Flask还拥有很多扩展包,用户可以根据自己的需求导入扩展包实现相应的功能,这也是Flask框架灵活的原因。

Git下载

首先对于Windows用户,推荐下载Git这个工具,虽然很多功能我们在终端也可以实现,但在某些方面上讲使用Git的命令会更加方便,而且它也可以用来记录编写程序的源码和文件的变动情况,Git的下载安装教程可以自己查找,或者参考阅读原文中的博客,过程不是很难。

下载安装完成之后,在搜索栏找到Git Bash,运行时候输入git --version,如果出现对应的版本信息则代表安装成功。

Flask从零到一 1 | 虚拟环境和第一个flask程序

配置虚拟环境

虚拟环境是一种独立于Python全局环境的Python解释器环境,比如一个虚拟环境中的解释器版本可以为Python2,另一个的解释器版本可以为Python3,它们之间是不会相互干扰的,而且也不会受你电脑中Python环境的影响。

配置虚拟环境是很必要的操作,因为不同的程序依赖语言的版本可能会不同,但如果在一台电脑中下载多个版本Python解释器,就会导致全局环境杂乱,虚拟环境很好的解决了这个问题,也便于管理我们的程序。

Python3中内置的venv模块可以创建虚拟环境,首先在系统自带的cmd中通过cd指令进入到指定的文件中,需要注意的是这个路径不能包含中文,然后使用下面指令创建一个虚拟环境。

python -m venv env

Flask从零到一 1 | 虚拟环境和第一个flask程序其中env为虚拟环境的名称,可以自己拟定。这时会在当前目录下生成一个包含了Python解释器的虚拟环境文件夹,然后在Scripts文件下有两个.bat文件,这两个文件就控制着激活虚拟环境和退出虚拟环境。

通过下面指令就可以激活虚拟环境和退出虚拟环境:

envScriptsactivate#激活
envScriptsdeactivate#退出

或者也可以直接进入Scripts目录下直接输入activate或者deactivae即可,当目录前出现下面这种小括号形式就代表激活虚拟环境成功。

(env) 

然后就可以通过pip在虚拟环境中安装Flask,不用指定版本,默认安装最新版本。

 pip install flask

第一个flask程序

编写一个flask程序是非常简单的,仅仅几行代码就可以实现,流程大致可以分为以下五步:

  • 1、从flask包中导入Flask类
  • 2、实例化Flask类,创建一个应用对象
  • 3、定义视图函数
  • 4、为视图函数添加装饰器(定义路由)
  • 5、启动flask程序

#从flask包中导入Flask类
from flask import Flask
#创建flask的应用对象
app = Flask(__name__)

@app.route('/')
def hello():
    """定义视图函数"""
    return 'Hello NaiTangMao'

if __name__ == "__main__":
    #启动flask程序
    app.run()

Flask从零到一 1 | 虚拟环境和第一个flask程序

Copy一下网址利用浏览器打开就会出现我们视图函数中返回的信息:

Flask从零到一 1 | 虚拟环境和第一个flask程序

这个flask程序处理过程如下:

  • 1、首先用户启动程序,并访问对应的网址。
  • 2、服务器解析请求,识别装饰器中绑定的URL。
  • 3、匹配URL并调用对应的视图函数。
  • 4、获取视图函数的返回值,返回至客户端。

对于上面这几行代码需要掌握几个知识点,首先你应该明确app为Flask类实例化后创建的一个应用对象,但里面的__name__有什么作用呢?

__name__为当前模块名,因为flask程序在运行的时候需要静态文件和模板文件辅助,在你设置__name__之后,flask就会以当前模块(文件)所在目录为根目录,默认这个目录中的static为静态目录,templates为模板目录,因为是默认存在的,所以在根目录中并不会体现出来。不理解不要紧,后面还会涉及这两方面知识。

这时如果我们在访问原来那个网址就会出现Not Found的错误提示,此时必须要访问http://127.0.0.1:5000/hello才能触发视图函数。

Flask从零到一 1 | 虚拟环境和第一个flask程序

一个视图函数也可以同时绑定多个URL,这通过为视图函数添加多个装饰器实现:

@app.route('/')
@app.route('/hello')
def hello():
    """定义视图函数"""
    return 'Hello NaiTangMao'

也就是说现在不论我们访问http://127.0.0.1:5000/ 还是 http://127.0.0.1:5000/hello都可以触发这个视图函数。

综上为Flask入门系列的第一篇,主要介绍虚拟环境的配置以及简易flask程序构成部分的简要解析。

本文参考资料:  

[1].《Flask入门教程》.李辉著  

[2].Flask中文、英文文档

[3].https://www.bilibili.com/video/BV1yt4y1Q7k5?p=5

Flask从零到一 1 | 虚拟环境和第一个flask程序
Flask从零到一 1 | 虚拟环境和第一个flask程序

Read More



End

奶糖猫   

优秀的人都在看   


在看点一下

以上是关于30天python从零到一---第四天:python基础语法的主要内容,如果未能解决你的问题,请参考以下文章

30天python从零到一---第五天:人生重开模拟器 ,循环语句

30天python从零到一---第三天:python基础语法

Flask从零到一 1 | 虚拟环境和第一个flask程序

从零到一学习Flutter——布局

从零到一实现神经网络(python):二

JavaWeb从零到一会话技术Cookie&Session&JSP