孙立岩 python-basic: 用于学习python基础的课件(一二三四)

python-basic: 用于学习python基础的课件

介绍

此部分讲解Python的基础,点击目录学习对应的小节:

  • 01-简介,概述一下python;
  • 02-环境搭建,如何在大家自己的windows上搭建与实验室相同的开发环境;
  • 03-基础语法,针对对python一无所知的初学者;
  • 04-hello-world,如何使用PyCharm构建一个最简单的python项目,运行;
  • 05-数字,python的六种基本数据类型之一;
  • 06-字符串,python的六种基本数据类型之一;
  • 07-列表,python的六种基本数据类型之一;
  • 08-元组,python的六种基本数据类型之一;
  • 09-字典,python的六种基本数据类型之一;
  • 10-集合,python的六种基本数据类型之一;
  • 11-分支语句,如何在python中使用分支语句;
  • 12-循环语句,如何在python中使用循环语句;
  • 13-函数,如何在python中定义、使用函数;
  • 14-模块,如何在python中定义、使用模块;
  • 15-输入和输出,操作文件与标准输入输出;
  • 16-面向对象,python中,类的定义与使用;
  • 17-numpy,python中,处理矩阵、向量和代数的第三方包;
  • 18-matplotlib,python中,画图用的第三方包;

本部分的制作主要参考下列材料,推荐大家阅读学习:

一。简介

概述

python官网:Welcome to Python.org

python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。主要有python2和python3两个版本,由于历史的原因,很多的第三方包和开源的一些算法、软件都是用python2或者只支持python2,但在2020 年 1 月 1 日,官网已经宣布了停止 python2的更新,python2.7是python2的最后一个版本。本课程全部内容将基于python3来讲解。

图片加载错误

图片加载错误

特点:

优点

  1. 简单易学:python是一种代表简单主义思想的语言。阅读一个良好的python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。网上的资料、教程也很多,学起来比较容易。
  2. 速度快:python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
  3. 免费、开源:python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
  4. 可移植性:由于它的开源本质,python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
  5. 解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用python更加简单。也使得python程序更加易于移植。
  6. 面向对象:python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
  7. 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在python程序中使用它们。
  8. 可嵌入性:可以把python嵌入C/C++程序,从而向程序用户提供脚本功能。
  9. 丰富的库:python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxpython、Twisted和python图像库等等。

缺点

  • 运行速度慢:这里是指与C和C++、Java这类的语言相比。

总结

相对于应用热门的两门编程语言C和Java,python的开发效率是非常高的,但纯python的运行效率是比较低的,因此当我们选择python作为编程语言来完成某项开发时,需要考虑我们的任务是否满足下列条件之一:

  1. 不注重程序的性能,更注重开发效率的任务,例如一些处理文本数据的任务;
  2. 程序的性能瓶颈不在于使用哪种语言,而在于其他方面,例如一些抓取网页的任务;
  3. 程序的开发需要调用很多现有的第三方包或工具,python可以提供很多这种包,这些包往往是用效率很高的语言编写的,复杂、高效,我们使用C或Java来编写这些功能不如直接使用python提供的包(编程错误、开发效率、运行效率)。

针对于深度学习这门课程,我们选择了python作为本课程中唯一使用的编程语言,其原因主要在于python的简单易用和十分好用的第三方包tensoflow,可以让我们快速的入门深度学习的开发任务。

课后习题

试着去思考一下,在你过去遇到的编程任务中,哪些适合使用python这样的编程语言。

下一课

二。

环境搭建

python的安装

python的安装方式可以分为两种:

  1. 单纯的python安装:从python的官网Welcome to Python.org下载安装包进行安装,而在linux下还需要编译安装的方式,适合对系统的认识比较好的同志;
  2. Anaconda集成环境安装,安装方式简单,Anaconda | The World's Most Popular Data Science Platform

在日常的编程之中,python往往需要调用各种第三方包,第三方包的安装需要通过conda或pip等管理工具来进行,而如果我们从Anaconda官网下载的安装包,进行安装,当安装第三方包的时候,就要面临“国内访问国外网站的速度”,因此在这里我们推荐使用“清华开源软件站(清华大学开源软件镜像站 | Tsinghua Open Source Mirror)提供的Anaconda”来安装python,其默认第三方包下载源地址在国内,速度很快。

安装步骤(Windows):

  1. 下载Anaconda python集成环境https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-4.2.0-Windows-x86_64.exe
  2. 双击运行,一顿next,最后install即可。

运行python

运行python脚本,或者使用python的方式有很多:

  1. 最基础的,在命令行中输入python;

    图片加载错误

  2. 如果使用了Anaconda安装python,可以使用Spyder、jupyter、jupyter notebook等集成环境运行python(我自己电脑上不是用Anaconda装的,所以无图可截);
  3. 脚本运行,在命令行界面中使用,python hellowordl.py,执行脚本;

图片加载错误

Pycharm安装

PyCharm是python的一种应用最为广泛的IDE,如同Eclipse是Java的一种IDE一样。PyCharm分为Professional版和Community版,其中的Community版是免费、开源的,而Professional版是功能比较多的收费版。

安装步骤(Windows):

  1. 从官网下载Pycharm Community版的安装包Download PyCharm: Python IDE for Professional Developers by JetBrains
  2. 双击运行,一顿next,最后install即可。

运行python

PyCharm运行python脚本的方式参照04-hello-world

课后习题

集成环境简化了安装的步骤,但也使我们更加地远离真实的python,思考、尝试,不使用Anaconda,使用python官网提供的安装程序,安装python,安装pip包管理工具,指定pip源为国内源,下载PyCharm,配置一个尽量精简的python开发环境。

三。

基础语法

标识符

标识符的规定:

  1. 第一个字符必须是字母表中字母或下划线 _ 。
  2. 标识符的其他的部分由字母、数字和下划线组成。
  3. 标识符对大小写敏感。

保留字

保留字即关键字,我们不能把它们用作任何标识符名称。python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

import keyword
print(keyword.kwlist)

注释

python中单行注释以 # 开头,多行注释可以使用三个单引号或三个双引号,实例如下:

'''
这是一个用三个单引号制作的多行注释。
这个脚本用来输出python中的保留字。
'''
import keyword
#输出keyword.kwlist的内容
print(keyword.kwlist)#使用print函数
"""
这是一个用三个双引号制作的多行注释。
预计输出的内容应该如下:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
"""

行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

#这是一个正确的示例,以缩进来代表代码块
b=True
bb=False
if b:
	print("True")
	if bb:
		print("True")
	else:
		print("False")
else:
	print("False")
	if bb:
		print("True")
	else:
		print("False")
#这是一个正确的示例,以空格来代表代码块,你可以使用1个或多个,但一般来说,约定俗成,大家都用4个空格。
b=True
bb=False
if b:
    print("True")
    if bb:
        print("True")
    else:
        print("False")
else:
    print("False")
    if bb:
        print("True")
    else:
        print("False")
#这是一个较常见的错误的示例,以空格和缩进一起来代表代码块。
b=True
bb=False
if b:
    print("True")
    if bb:
        print("True")
    else:
        print("False")
else:
    print("False")
    if bb:
        print("True")
	else:
		print("False")

**注意事项:**目前很多的编辑器,包括PyCharm一般都会自动处理“缩进字符”,直接用4个空格来代替,并且,这个功能是可以通过配置来更改的,当我们在不同的机器、开发环境下编辑同一个代码文件的时候,就可能因为这种处理“缩进字符”的设定不同导致一些问题。

多行语句

python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:

a=1
b=2
c=3
s = a + \
	b + \
	c
print(s)
ss=[1,2,3
	,
	4,5,6]
print(ss)

同一行显示多条语句

python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

实例(python 3.0+)

#同行多条语句演示
a='hello';b="world";print(a,b);c=a+' '+b;print(c)

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

def fun(a,b):
	c=a+' '+b
	if '\n' in c:
		c=c.replace('\n','')
		c=c.replace('\\','')
	else:
		pass
	return c
print(fun('hello','world'))
print(fun('hello\n','world'))
print(fun('hello\\','\nworld\n'))

import 与 from...import

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

导入 sys 模块

#import演示
import sys
for i in sys.argv:
	print(i)
print(sys.path)
#from import 演示
from sys import argv,path
for i in argv:
	print(i)
print(path)

课后习题

逐一执行本小节中的每一行代码,观看其结果,配合度娘,思考其意义,尝试简单地修改这些代码,观看其效果,这样可以学习这些函数,这种学习的积累可以帮助我们慢慢熟练地掌握python这门语言。

四  

使用PyCharm建立一个最基础的项目Hello World

前面,我们已经完成了对python基础语法的讲解,接下来,进入以实践为主的部分,配合编程实例逐一介绍python中的各种数据结构和运算。

本节中,我们使用PyCharm建立、运行一个最基础的项目,步骤如下:

  1. 打开PyCharm;
  2. 点击New Project新建一个项目;

    图片加载错误

  3. 配置项目的保存路径和main脚本;

    图片加载错误

  4. 点击Create创建项目;

    图片加载错误

  5. 此时,由于我们第三步的配置,项目中默认会有一个main.py文件,并包含一些代码,在这里,我们将所有的代码删除,填写如下代码,完成Hello World项目:
print('Hello','World')
  1. 点击右上角的“绿色三角按钮”,运行此项目中的main.py脚本,运行结果如下图。图中的main.py文件只有一条语句,输出结果在PyCharm的下方。

    图片加载错误

使用console运行命令

PyCharm的功能有很多,全部一一介绍,是互相折磨,这里捎带着介绍一个,除了上述建立项目,运行脚本的方式以外,在PyCharm中,还有另外一种方式运行python命令,点击左下角的“Python Console”可以启动python的一个端,可以在里面逐行的执行python语句,同时看到内存的变化情况: 

图片加载错误

图片加载错误

猜你喜欢

转载自blog.csdn.net/u010608296/article/details/121272656