4000字 Python 必读指南

2022-01-26 10:25:15 浏览数 (1)

你好,我是zhenguo

这是Python10天入门闯关Day2的文字版,全文4000字。

结合我录制的视频操作学习,效果最佳。其中最后一个项目的完整代码放到文章最后,希望帮助到你

Python入坑前必知10件事

最近1周,权威排名统计网站IEEE Spectrum ,公布编程语言最新排名:Python 不管在就业市场,未来发展趋势,开源社区等多个排名中全部霸榜,这个消息还是挺鼓舞人心。

会用Python,已经成为越来越多开发者和程序员的共识。

下面我们进入Python 10天入门闯关的Day2,介绍:Python入坑前必知10件事

包括:

  • 1 Python解释型
  • 2 Python 特点
  • 3 Python之禅
  • 4 Python 包管理
  • 5 Python虚拟环境
  • 6 Python下载安装
  • 7 第一行Python代码
  • 8 集成开发环境介绍
  • 9 代码调试
  • 10 第一个Python项目

这个视频对于想入门Python的朋友非常有用,可以先收藏一下。

1 Python解释型

python是一门解释型语言。

源代码在编译器编译成字节码(PyCodeObject)放在内存中,最常用解释器是CPython,它负责一条一条的解释成机器语言给计算机来执行。

编译过某些Python模块后,会看到目录中有pyc文件,实际它是内存中PyCodeObject缓存到pyc文件后的结果。

2 Python 特点

Python语言简洁明了,实现同一功能代码量更少;

Python也是面向对象的,与其他主要的语言如C 和Java相比, Python以一种非常强大又简单的方式实现面向对象编程;

同时跨平台可移植性好;

除了200多个自带的内置模块外还有丰富的第三方库。

3 Python之禅
代码语言:javascript复制
Python之禅 by Tim Peters
 
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
 
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
 
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
 
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
 
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
 
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
4 包管理

Python最吸引人地方之一就是拥有丰富的第三方包,因此知道最常用的包管理工具就是必须的。常用的包管理工具 pip 和 conda,pip 是官方的管理工具,conda 是anaconda的,conda不仅能安装包还能做虚拟环境管理,两者的区别如下:

5 虚拟环境

同时装了Python3和Python2,怎么办?直接卸掉python2,除非你有线上项目还在使用python.

如果不同项目需要不同python版本,该怎么?需要知道虚拟环境管理。

为什么会有虚拟环境?在实际项目开发中,项目A需要某个包1.0版本,项目B需要此库2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸载安装, 这样很容易给你的项目带来莫名的错误。

怎么做虚拟环境管理,使用conda工具:

6 Python下载安装

下载安装Python最推荐的方法是使用 anaconda,这是一个套装,包括很多最常用的包,还有IPython,Jupyter notebook这种最常用的开发利器。

(1). Anaconda的下载

可以从官网https://www.anaconda.com/download/下载Anaconda的安装程序,在该页面选择你电脑所对应的系统(Windows、macOS or Linux)以及操作系统位数(64位 or 32位)

(2) Anaconda的安装

下载后的文件为.exe文件,双击该文件进入安装界面,依次点击Next –> I agree –> Next

在选择安装目录界面,默认安装路径为C盘。如果想更改安装路径,先在想要安装的目录下新建Anaconda的文件夹,然后选择该路径。

(3) 然后点击Next进入到Advanced Options界面。其中有两个选项框,建议将第二个选项框(Add Anaconda to my PATH environment variable,默认为不选)选上。

7 第一行Python代码

运行第一行Python代码,直接启动cmd,输入Python,执行hello world, 打印成功,表明安装Python成功

但是我们看到提示,已经安装anaconda,但是并没有激活,根据上面的conda info -e 命令我们先查看有哪些私有环境

base 是默认安装的私有环境,untitled是我另一个创建的私有环境,下面使用 conda activate untitled 激活untitled私有环境,激活后行首出现括号 untitled

8 集成开发环境介绍

集成开发环境是基于Python解释器为了加速程序员的开发效率而打造的一个开发利器,使用它们100%提高我们的开发效率和代码调试效率。

Python最常用的集成开发环境,pycharm, jupyter notebook, vscode,其中 jupyter notebook是交互式的,我们输入一行,Alt Enter 回车直接得到结果,所见即所得有时很有用。

9 代码调试

在正式开始编程前,你应该首先学会调试,这是我10年编码,7年工作的经验总结。以pycharm调试为例:

在想要调试行打上断点,点击调试图标,启动调试,等运行到此行,按F8逐行调试,按F7进入函数内部:视频大概在第4分钟:

10 第一个Python项目

这是一个很有意思的Python案例,根据生日预测你星座,把它们敲一遍,找找编码,做第一个Python项目的感觉。

使用pycharm新建一个项目,

首先点击:New Project

输入项目名称

接下来,最好要展开,新建一个Python虚拟环境,推荐选择conda,位置,Python版本,conda.exe默认即可,点击create,这样完成虚拟环境创建。

虚拟环境创建中

点击first_project0,右键选择 python文件,创建一个名为star0.py文件,恭喜你,完成创建你的第一个python模块

直接复制下面代码到这个模块里

右键点击 Run

完整过程见下面操作视频,大概在第4分20秒:

启动后,转到底部交互区域,输入你的生日,得到你的星座,可以试试女朋友的生日,查查她的星座,按下q退出应用程序,返回0代表程序运行无任何问题。

代码语言:javascript复制
boundary_date = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22]
stars = ['摩羯座', '水瓶座', '双鱼座', '白羊座', '金牛座',
         '双子座', '巨蟹座', '狮子座', '处女座', '天秤座',
         '天蝎座', '射手座', '摩羯座']


def get_star():
    while True:
        birthday = input("请输入你的生日n不包括年份(如01-01)n输入q退出:")
        if birthday == 'q':
            break
        md = birthday.split('-')
        if len(md) != 2:
            print("输入格式有误,请重新输入")
            continue

        month, day = md[0], md[1]
        try:
            month, day = int(month), int(day)
            if (month < 0 or month > 12 or day < 0
                    or (month in [1, 3, 5, 7, 8, 10, 12] and day > 31)
                    or (month == 2 and day > 28)
                    or (month in [4, 6, 9, 11] and day > 30)):
                print("月和日取值范围有误")
                continue
            if int(day) < boundary_date[month - 1]:
                print('*' * 10   '您的星座'   '*' * 10)
                print(' ' * 10   stars[month - 1])
                print('*' * 27)
            else:
                print('*' * 10   '您的星座'   '*' * 10)
                print(' ' * 10   stars[month])
                print('*' * 27)
        except Exception as e:
            print("输入格式有误,必须为数字")
            continue


if __name__ == "__main__":
    get_star()

以上完整代码,可以作为第一个Python小案例,希望入门闯关Day2能够对你有用。

0 人点赞