有趣的Python基础教程(上)

这篇博客详细介绍了Python的安装过程,包括在Mac、Linux和Windows上的安装方法,以及安装Spyder的步骤。此外,还讲解了Python的命令提示符、安装库的命令以及IDLE和Spyder的使用。文章通过实例介绍了Python的基本语句,如输入输出、数据类型、变量、字符串操作、循环、条件判断等,并引导读者进行实践,如画小猪佩奇、清洗豆瓣数据等。最后,博客提到了Python的函数定义、参数传递、返回值,以及模块的导入和常用库的介绍。
摘要由CSDN通过智能技术生成

更新于2020年5月

一、程序的安装和运行

1.1 资源推荐

Python 官方中文文档:Python 3.7.3 文档

Github:Github开源Python项目

免费教程:廖雪峰的官方网站

付费课程:扇贝编程

书籍:Python编程:从入门到实践-埃里克·马瑟斯

书籍:使用Python自动执行无聊的工作-Al Sweigart

书籍:如何像计算机科学家一样思考-Peter Wentworth

书籍:艰苦学习Python

1.2 各类编程语言的区别

除Python之外,还有C、C++、Java等编程语言,各自都有适用的领域。

  • 对性能要求非常高的软件,比如操作系统或者图像处理,通常会用C或者C++编写
  • 安卓上的APP一般都用Java,苹果APP一般用Object C或者Swift
  • Python通常用于数据分析、网络爬虫、人工智能,也可以用于网站或者APP的服务器端程序

Python的优点:语法简洁,既适合初学者入门,也能应用在人工智能等高端领域

(摘自扇贝编程

1.3 安装Python

(部分转自廖雪峰老师的教程 安装Python

在Mac上安装Python

如果你正在使用Mac,系统是OS X>=10.9,那么系统自带的Python版本是2.7。要安装最新的Python 3.7,有两个方法:

方法一:从Python官网下载Python 3.7的安装程序,双击运行并安装;

方法二:如果安装了Homebrew,直接通过命令brew install python3安装即可。

在Linux上安装Python

如果你正在使用Linux,那我可以假定你有Linux系统管理经验,自行安装Python 3应该没有问题,否则,请换回Windows系统。

在Windows上安装Python

Python官网地址:https://www.python.org/downloads/windows/

首先,我们根据自己系统类型(32 位或 64 位)来选择合适的版本点击下载,一般我们选择 executable installer就行。86-64就是64位,86(不带64)就是32位

17569167-78288525fdd04944

各个版本的区别是:

  • embeddable zip file:嵌入式版本,可以集成到其它应用中
  • web-based installer:联网方式安装
  • executable installer:可执行文件(*.exe)方式安装

我们这里选择了Windows x86-64 executable installer(我电脑是64位的),下载完成后双击打开,可以看到如下图所示的界面。

17569167-2db1f1f33da6720e

特别要注意勾上Add Python 3.7 to PATH,然后点“Install Now”即可完成安装。

安装结束之后,在开始菜单栏可以看到Python的安装内容

image-20200326161813669

点击IDLE(Python 3.8 64-bit),打开编辑器,界面长这样

image-20200326162054517

1.4 安装Spyder

我个人是更喜欢Spyder的开发环境,会比这个默认的好看方便(每个人喜好不同,不安装也无所谓)

我选择安装anaconda,因为里面不仅带了Spyder,还自带了Jupyter Notebook

anaconda官网网址:https://www.anaconda.com/distribution/

image-20200316095746988

安装之后,就可以看到Spyder

image-20200316095938368

1.5 命令提示符

命令提示符是我们一定要知道的一个东西,因为安装库,都靠它。

先说明一点,用spyder或者默认Python,安装库的位置是不一样的。

默认Python

如果你用的是默认的Python,那么命令提示符用的是系统自带的

Win7系统:开始菜单—>附件—>命令提示符

Win10系统:开始菜单—>Windows系统—>命令提示符

或者直接搜索cmd

image-20200316094919989

输入Python,会显示你的版本号

image-20200316095048893

Spyder

如果你用的是Spyder,很有可能,你在命令提示符装的库,它根本感受不到

你需要在Anaconda Prompt 里面输入

image-20200326203512696

同样输入Python,会显示你的版本号

image-20200326203349259

后面安装库的时候,一定要注意这一点。如果是用Spyder,要在Anaconda Prompt 里面安装。

当然,安装的命令,是一模一样的,只是输入的地方不一样

1.6 安装Python库

Python依赖于很多库,这里的库,是根据自己需要安装的。为什么要安装库。就差不多相当于站在巨人的肩膀上吧。人家大神把很多功能写好了,我们拿过来用就行。安装的代码是 pip install 库的名称

pip:Python第三方库安装工具,用来在当前计算机上安装第三方库。

爬虫需要的最基础的库是requests,那我们安装的时候,输入

pip install requests

如果你安装好这个库了,系统会提示你already satisfied

image-20200326204017120

再比如,我想要一个操作PDF相关的库pdfplumber。打开命令提示符,输入

pip install pdfplumber

Python安装库的时候是这样的

17569167-ffe90d49de366d8d

如果界面出现(红色框里的)提示,更新所有自带的库即可

输入python -m pip install --upgrade pip

image-20200316095328745

最后,是不是每一个库都需要安装呢?不是的!有些库是Python自带的,比如turtle,你不需要安装,也能直接用。学会装库之后,我们开始写代码啦~

1.7 向你的新世界说Hello

IDLE:Python集成开发环境,用来编写和调试Python代码

如果你是默认的Python,在开始菜单栏,打开IDLE

输入如下代码。Print表示输入这行文字。注意,引号要用英文输入法,不能用中文输入法哟~

print("Hello, World!")

你在向新世界说Hello的时候,新世界也在向你说Hello呀~这是一个交互式的运行环境

17569167-227993f8db17019f

  • 下次开始写代码的时候,可以打开File-New,新建一个IDLE代码编辑器,操作更方便。右边写代码,左边出结果

17569167-756668c86a091e43

IDLE快捷键:

Ctrl+N:在IDLE交互界面下,启动IDLE 编辑器

Ctrl+Q:退出IDLE 编辑器

Alt+3:在IDLE 编辑器内,注释选定区域文本

Alt+4:在IDLE 编辑器内,解除注释选定区域文本

F5:在IDLE 编辑器内,执行Python程序

如果你是Spyder界面,那就打开Spyder输入,代码都是一样哒。点绿色的箭头运行,Spyder的输出在界面的右侧

image-20200326204932095

1.8 实践:画个小猪佩奇吧

把以下代码贴进去,直接运行就可以了。先不管为什么要这样写代码,咱们后面再研究。总之,Python是个好玩的东西~

import turtle as t
 
t.pensize(4)
t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(840, 500)
t.speed(10)
 
# 鼻子
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
t.begin_fill()
a = 0.4
for i in range(120):
    if 0 <= i < 30 or 60 <= i < 90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()
 
t.pu()
t.seth(90)
t.fd(25)
t.seth(0)
t.fd(10)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
 
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
 
# 头
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300, -30)
t.circle(100, -60)
t.circle(80, -100)
t.circle(150, -20)
t.circle(60, -95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
    if 0 <= i < 30 or 60 <= i <90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()
 
# 耳朵
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()
 
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()
 
#眼睛
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
 
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
 
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
 
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
 
# 腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
 
# 嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)
 
# 身体
t.color("red", (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()
 
# 手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)
 
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)
 
# 脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
 
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
 
# 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)

t.hideturtle()
t.done()

二、入门语句

本章内容运行环境:Jupyter Notebook

关于Jupyter Notebook的使用,可以参考:https://www.zhihu.com/question/266988943 (由Clover提供)

本单元视频链接:https://v.youku.com/v_show/id_XNDYyMTI4OTA5Mg==.html

2.1 输入输出和注释

input("你叫什么名字:")   # 这时候可以输入你的名字
print("欢迎你学习Python")  # 屏幕输出结果用print

#代表注释,不参与程序执行

print代表输出

input代表输入

2.2 数据类型和变量

1) 变量

变量:在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串

变量命名: 只能有字母_数字,其中数字不可以放在开头,比如3_a_b,程序就直接报错了

变量赋值:用等号=为变量赋值

phone_number = "我的电话是:18899998888" 

在实际使用中,希望大家可以起一点有意义的变量名,比如nameage 这种,而不要都是abcdef,这不仅别人看不懂你写的是什么,可能后面你自己都不记得,这个变量是干嘛的了。写代码的时候多注释,是个好习惯。

2) 数字

  • int (有符号整数),比如-3520
  • bool (布尔值),True或者False
  • float (浮点值),比如3.140.9
  • complex (复数),比如2+8i

3) 字符串

  • 引号引起来的一串字,可以是英文,也可以是数字,还可以用 emoji 表情哟。

  • 引号可以是:单引号'字符串',双引号"字符串",三引号'''字符串'''

    ord():获取字符的整数表示

    chr():把编码转换为对应的字符

字符串的联结:+

text_1 = "今天我"
text_2 = "很开心"
full_text = text_1 + text_2
print(full_text)
# 输出:今天我很开心

如果需要将数值与字符串联结,先用str()将其他类型转为字符串,再将其与字符串联结。关于各种类型的相互转换,可参考【第八章 数据类型转换】

print("先挣" + str(1) + "个亿再说。")
# 输出:先挣1个亿再说。

多行字符串

  • 当字符串包含多行信息,尤其文本包含大量引号的时候,我们可以使用""" ``````"""或者''' ``````'''包裹字符串。
  • 计算机读到第一个"""时,会知道在下一个"""出现之前,被包裹的信息都是字符串。
  • 这种方法可以减少错误,提高代码可读性。
Song = """
Well I wonder could it be
When I was dreaming about you baby
You were dreaming of me
"""

如果"""``````"""之中的信息不被赋值于变量,则会被Python视作为注释。比如在代码开头,备注写代码的时间和作者。

"""
Created on Tue May 22 2019
@author: YangYang
"""

2.3 转义字符

刚刚上面提到,引号' text '在代码,是用于表示字符串的。那假设,我需要输入一段文字,里面本来就有引号怎么办?或者我要表示换行怎么办?

这里就涉及到了转义字符,用\来表示

\'  # 表示单引号
\"  # 表示双引号
\n  # 表示换行符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值