【21天python打卡】第1天 python预备知识(1)

简介: 大家好,今天是21天python打卡的第一天,我们要想学好python,我们先了解一些关于python的基础知识。

1、基本概念

1.1、模块(包)  

模块 module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有".pyo"、".pyc"、".pyd"、".so"、".dll",但Python初学者几乎用不到。

module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让coder重点放在高层逻辑上。

module能定义函数、类、变量,也能包含可执行的代码。module来源有3种:

①Python内置的模块(标准库);

②第三方模块;

③自定义模块。


包 package: 为避免模块名冲突,Python引入了按目录组织模块的方法,称之为 包(package)。包 是含有Python模块的文件夹。


75.png

1.2、表达式

表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合


1.2.1、表达式特点

• 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响

• 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出


1.3、 语句

一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成

语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果


1.4、程序(program)

程序就是由一条一条的语句和一条一条的表达式构成的。


1.5函数(function)

函数就是一种语句,函数专门用来完成特定的功能。

函数长的形如:xxx()


1.5.1 函数的分类:

•  内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。


•  自定义函数  :  由程序员自主的创建的函数  当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数


1.5.2 函数的2个要素

•  参数

•  返回值


2、Python编程思想

Python是一种面向对象oop(Object Oriented Programming)的脚本语言。


面向对象是采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。


在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。面向对象的方法把数据和方法组合成一个整体,然后对其进行系统建模。


2.1、基本的程序设计模式

任何的程序设计都包含IPO,它们分别代表如下:

  • I:Input 输入,程序的输入
  • P:Process 处理,程序的主要逻辑过程
  • O:Output 输出,程序的输出

因此如果想要通过计算机实现某个功能,那么基本的程序设计模式包含三个部分,如下:


确定IPO:明确需要实现功能的输入和输出,以及主要的实现逻辑过程;


编写程序:将计算求解的逻辑过程通过编程语言进行设计展示;


调试程序:对编写的程序按照逻辑过程进行调试,确保程序按照正确逻辑正确运行。


也是所有语言都会设计这三部分。


2.2、解决复杂问题的有效方法:自顶向下(设计

所有的语言都是为了帮助我们更好的解决复杂问题,python解决复杂问题的有效方法:自顶向下(设计)。下面我具体介绍。


2.2.1 自顶向下-分而治之

如果要实现功能的逻辑比较复杂的时候,就需要对其进行模块化设计,将复杂问题进行分解,转化为多个简单问题,其中简单问题又可以继续分解为更加简单的问题,直到功能逻辑可以通过模块程序设计实现,这也是程序设计的自顶向下特点。总结如下:


将一个总问题表达为若干个小问题组成的形式

使用同样方法进一步分解小问题

直至,小问题可以用计算机简单明了的解决


2.2.2 举例:的斐波那契数列

的斐波那契数列是一道金典的数学题,相信大家再也熟悉不过了。今天通过举例介绍,具体了解python在解决实际问题的便利,更好的解决问题。

自顶向下的方式其实就是使用递归来求解子问题,最终解只需要调用递归式,子问题逐步往下层递归的求解。


程序设计:

cache = {}
def fib(number):
    if number in cache:
        return cache[number]
    if number == 0 or number == 1:
        return 1
    else:
        cache[number] = fib(number - 1) + fib(number - 2)
    return cache[number]
if __name__ == '__main__':
    print(fib(35))

运行结果:

1. 14930352
2. >>>

理解自顶向下的设计思维:分而治之


3、Python安装

我们来介绍怎么安装python,以Windows为例。


3.1、 Windows系统下python安装

此次安装主要针对windows开发,因此是在windows 10系统下进行安装。


3.1.1 python下载安装

首先我们去官网下载python,官网网址如下。

Python官网:Python Releases for Windows | Python.org


76.png

在这里找到自己需要的版本进行下载即可,但是建议大家不要下载最新版本,懂得都懂。。。不够稳定,bug比较多。下载完成后运行安装即可。傻瓜式安装,我就不多说。


3.2 、Python环境变量配置

手动添加python环境变量过程

  • 找到计算机,点击鼠标右键在弹出的选项中点击【属性】,然后点击【高级系统配置】

77.png

  • 点击【环境变量】

78.png

  • 在系统变量中,找到Path,双击,在打开的编辑系统变量中,在末尾添加一个英文的分号,将python软件安装路径复制进去就可以了

79.png


4、Python运行方式

4.1、交互模式下执行 Python

这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可。

1)打开交互模式的方式:

Windows下:在开始菜单找到“命令提示符”,打开,就进入到命令行模式;在命令行模式输入: python 即可进入 Python 的交互模式


Linux 下:直接在终端输入 python,如果是按装了 python3 ,则根据自己建的软连接的名字进入对应版本的 Python 交互环境,例如我建立软连接使用的 python3,这输入 python3。


2)在交互模式下输出: Hello World!


3)退出交互模式,直接输入 exit() 或者quit() 即可。


4.2、通过脚本输出

通过文本编辑器,编写脚本文件,命名为 hello.py,在命令行模式下输入 python hello.py 即可。

79.png

4.3、交互模式和脚本文件方式的比较

1)在交互模式下,会自动打印出运算结果,而通过脚本文件的方式不会

交互模式:

[node02@localhost code]$ python3
Python 3.6.5 (default, Oct 19 2018, 10:46:59) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 100+200
300
>>> exit()

脚本文件:没有任何输出,此时要想输出,必须使用 print 函数进行打印。

[node02@localhost code]$ vi cal.py 
[node02@localhost code]$ cat cal.py 
100+200
[node02@localhost code]$ python3 cal.py 
[node02@localhost code]$ 

2)在交互模式下,每次输入的语句不会被保存,退出交互环境之后即消失,但是通过脚本文件我们可以保存我们写过的所有语句。所以通常都是通过编写 脚本文件的方式来编写 Python 代码。

注意:在编写脚本文件的时候不要使用 word 和 windows 自带的笔记本,因为他们在保存的时候会保存为 utf-8 BOM 格式,这会导致脚本执行错误。可以使用 sublime,editplus,notepad++


今天就介绍到这里,相信到这里,你肯定学到了不少的东西。下一篇我们继续介绍关于python的预备知识。谢谢大家。


相关文章
|
3月前
|
存储 Python
Python中的m.n
Python中的m.n
|
机器学习/深度学习 人工智能 数据挖掘
为什么越来越多的人喜欢用Python?
Python编程语言在过去的几年里取得了巨大的成功,吸引了越来越多的人,从初学者到专业开发者,都喜欢使用它。那么,为什么Python如此受欢迎?这篇文章将探讨Python的吸引力以及它在不同领域的应用。
|
JSON NoSQL Redis
Python使用小结
Python使用小结
54 0
|
Python
【Python三体问题】
【Python三体问题】
183 0
【Python三体问题】
|
存储 算法 Python
|
前端开发 Python
Python考核内容
Python考核内容
109 0
Python考核内容
|
编解码 数据处理 索引
python xarray 简单介绍
python xarray 简单介绍
|
数据处理 Python
python 小知识 - 类全知道
类是面向对象编程的基础,是python开发过程中需要重要掌握的知识点。
165 0
python 小知识 - 类全知道
|
XML 程序员 测试技术
为什么Python这么受大家喜欢呢?
为什么Python这么受大家喜欢呢?
104 0
|
Java Unix 程序员
Python-01-前世今生
Python-01-前世今生
272 0