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

Posted 披星戴月的贾维斯

tags:

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

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

文章目录

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


🍎1、常量表达式

我们可以把 Python 当成一个计算器, 来进行一些算术运算.

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
print((67.5 + 89.0 + 12.9 + 32.2) / 4)


注意:

  • print 是一个 Python 内置的函数。
  • 可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减。
  • 运算符和数字之间, 可以没有空格, 也可以有多个空格. 但是一般习惯上写一个空格(比较美观)。毕竟现在也是一个“看脸的世界”。
  • 在Python中, 2/ 3 = 0.666666 而不是0,而且不会四舍五入。

形如 1 + 2 - 3 这样是算式, 在编程语言中称为 表达式, 算式的运算结果, 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为 运算符 或者 操作符.

🍎2、变量的语法

🍇2.1、变量是什么
有的时候, 我们需要进行的计算可能更复杂一些, 需要把一些计算的中间结果保存起来. 这个时候就需要用到变量.

代码示例:计算差分

计算差分
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4  # 变量赋值
total=(67.5 - avg) ** 2 + (89.8 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
#** 是代表乘方
results = total / 3
print(results)

在这个代码中, 就需要先计算这四个数字的平均值, 然后再计算方差. 这就需要把计算的平均值使用变量保存起来。
其中:
avg, total, result 均为变量.
** 在 Python 中表示乘方运算. ** 2 即为求平方。

变量可以视为是一块能够容纳数据的空间. 这个空间往往对应到 “内存” 这样的硬件设备上。

🍇2.2、变量的语法
定义变量:a = 10;
创建变量的语句非常简单, 其中

  • a 为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分.
  • = 为赋值运算符, 表示把 = 右侧的数据放到 = 左侧的空间中.

注意
变量有自己的命名规则:

  • 变量名由数字字母下划线构成.
  • 数字不能开头.
  • 变量名不能和 “关键字” 重复.
  • 变量名大小写敏感. num 和 Num 是两个不同的变量名.、

我们还要形成一个优秀的码风,例如:当变量名包含多个单词的时候, 建议使用 “驼峰命名法”. 形如 totalCount , personInfo 这种, 除了首个单词外, 剩余单词首字母大写.。或者是“蛇形命名”~单词之间使用下划线来进行分隔:person_info或者是total_count。

数学上, 变量通常使用 x, y, z 这种简单的英文字母或者拉丁字母表示. 但是在编程中不建议这样使用。
原因是编程中, 一个程序里通常会同时创建出很多个变量. 如果只是使用单个字母表示, 在变量多了的时候, 就很难记住哪个变量是干啥的, 从而给维护程序带来了一定的困难. 因此我们更建议使用带有明确描述性的名字, 来表示变量的用途。

🍇2.3、使用变量
注意: 在 Python 中, 修改变量也是使用 = 运算, 看起来和定义变量没有明显区别。

a = 20
a = 40 
print(a)

也可以用一个变量赋值给另一个变量
a = 10
b = 20
a = b

🍎3、变量的类型

变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 “类型” 这样的概念.

注意:和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的。

3.1、整数

解释: type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型。
注意: 和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.,这样就不会出现爆int的尴尬局面了。

3.2、浮点数(小数)

a = 'hello'
print(type(a))


注意: 和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数.。
拓展:相比于单精度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后15 位)。

3.3、字符串

a='hello'
print(type(a))

使用 ’ ’ 或者 " " 引起来的, 称为字符串. 可以用来表示文本。
注意: 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. 'hello’和完全等价的.。
可以使用 len 函数来获取字符串的长度。
可以使用 + 针对两个字符串进行拼接。
不能拿字符串和整数/浮点数相加。

3.4、布尔
布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假).
比如:

  • 狮子是食肉动物(真命题)
  • 大象比蚂蚁还小(假命题)
a = True
print(type(a))

注意: python中的True和False首字母都是大写的。 布尔类型在后续进行逻辑判断的时候, 是非常有用的。


为什么要有这么多类型?
(1) 类型决定了数据在内存中占据多大空间. 例如 float 类型在内存中占据 8 个字节.

计算机里面使用二进制来表示数据. 也就是每个位只能表示 0 或者 1。
1 个二进制位, 就称为是一个 “比特”, 8 个二进制位, 就称为一个 “字节” (Byte)一个 float 变量在内存中占据 8 个字节空间, 也就是 64 个二进制位.

(2) 类型其实约定了能对这个变量做什么样的操作.

例如 int / float 类型的变量, 可以进行 + - * / 等操作
而 str 类型的变量, 只能进行 + (并且行为是字符串拼接), 不能进行 - * / , 但是还能使用 len 等其他操作.
总结: 类型系统其实是在对变量进行 “归类”. 相同类型的变量(数据) 往往具有类似的特性和使用规则.

🍎4、总结

    本文主要总结Python语法中的常量表达式和变量的类型以及语法,希望大家读后能有所启发。

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