【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的预备知识。谢谢大家。


相关文章
|
10月前
|
机器学习/深度学习 人工智能 安全
什么是Python?
人生苦短,我用Python~
47 0
什么是Python?
|
10月前
|
机器学习/深度学习 数据采集 人工智能
【python简单介绍】
【python简单介绍】
60 0
python colormaps汇总
最近在进行python绘制散点图时,需要将一些数据根据大小进行颜色显示。需要引入colormaps模块,现将color maps进行汇总如下:
python colormaps汇总
|
机器学习/深度学习 Python
(Python)矩阵旋转
(Python)矩阵旋转
88 0
|
存储 Java 调度
Python 并行任务技巧
Python的并发处理能力臭名昭著。先撇开线程以及GIL方面的问题不说,我觉得多线程问题的根源不在技术上而在于理念。大部分关于Pyhon线程和多进程的资料虽然都很不错,但却过于细节。这些资料讲的都是虎头蛇尾,到了真正实际使用的部分却草草结束了。
182 0
Python 并行任务技巧
|
索引 Python
第9天:Python tupple
第9天:Python tupple
87 0
|
Python
你需要知道的 20 个 Python 技巧(2)
你需要知道的 20 个 Python 技巧
109 0
|
Python
对Python中一些“坑”的总结及技巧
一.赋值即定义 1.运行以下代码会出现报错 #!/usr/bin/env python #_*_conding:utf-8_*_ x = 100 def outer(): def inner(): x += 100    #其实这里等效于"x = x + 100",我们直到这是一个赋值语句,会优先计算右边的等式,即"x + 100".而在此时由于x变量赋值即定义,即此时的x和全局作用域的x并非同一个对象。
743 0
|
Python
Python2 转Python3 比较
# Python2 转Python3 #### 1. 工具命令 * python2 * python/pip/pydoc * python3 * python3/pip3/pydoc3 #### 2. 语法 1. exception ``` python3
1116 0