在开发环境进行学习

在开发环境进行学习

在本节中,我们搭建自己的开发环境,并在其中编写、运行我们的代码。

在本章节中,我们在“文本编辑器 + 终端”的开发环境下进行代码的编写和运行。你可能听说过使用 Windows 系统自带的记事本来编写代码的说法。

img

记事本几乎成了江湖传说

实际上,记事本会在文件开始的地方标注 UTF-8 BOM 信息,导致程序运行出现某些错误,请不要使用记事本编写代码;更不要用 Word,它甚至保存的不是纯文本。

华山论剑

工欲善其事,必先利其器,推荐几款文本编辑器:

  1. Visual Studio Code,简称 VScode 或 VSC,跨平台。
  2. Atom,GitHub 出品的文本编辑器,跨平台。
  3. Sublime Text,曾经占有率很高,跨平台。
  4. Vim,编辑器之神,Linux 平台。
  5. GNU Emacs,神的编辑器,Linux 平台。

你可以自行选择自己平台的编辑器,本教程基于 VScode。VScode 由微软出品,作为现代化的文本(代码)编辑器,为几乎所有的主流开发语言提供支持,性能极其出色,完备易用的扩展,美观现代的外观,出色的本地化服务,值得每一个开发者尝试。

配置 VScode

安装汉化

VScode 有优秀的本地化支持,通过安装 Chinese (Simplified) Language Pack for Visual Studio Code 拓展实现。

img

安装完毕后,按提示在 locale.json 文件中添加 "locale": "zh-cn" 以加载语言包。

安装 Python 调试功能

img

安装 Python 拓展,打开需要调试的页面,按下键盘上的 F5 ,按提示自动生成 launch.json 文件,即可在 VScode 内运行 Python 文件。

起步

一切就绪,现在我们正式开始 Python 的学习,方便起见,直接在桌面创建一个名为 hello.py 的文件,对于 Windows 平台,你可以用新建文本文档并重命名的方式。用 VScode 将其打开,输入我们熟悉的 :

1
print("hello, world")

print() 是我们学习到的第一个函数(Function),它的作用是在屏幕上打印(这听起来可能有点奇怪)字符,print 是”函数名“,括号 () 里面是它的”参数“,一个完整的语句,都由这样的结构构成。

用成对的引号扩起表示这是一个”字符串“数据类型,可以是单引号或者双引号,但是不要混用。

1
2
3
4
5
print("hello, world!") # ✔
print('hello, world!') # ✔

print('hello, world!") # ❌
print("hello, world!') # ❌

尝试输入其它的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
print("我不想做个平庸的人类
我不想囿于双手,双脚和双眼

我想要了解
我想要操纵

我想要创造

我相信逻辑
我相信机器
我相信代码

我知道他们是熔炉,是铁锤,是建造世界的砖瓦
我知道他们是法杖,是咒语,拥有改变世界的魔法

我不关心是谁创造了这个世界
我只关心我们正在创造的世界")
# 摘自知乎@tefx

会发现程序会报错:

img

转义

这是因为我们直接在字符串中输入了换行,在代码中,应用 \n 实现换行:

1
2
print("我不想做个平庸的人类\n我不想囿于双手,双脚和双眼\n\n我想要了解\n我想要操纵\n我想要创造\n\n我相信逻辑\n我相信机器\n我相信代码\n\n我知道他们是熔炉,是铁锤,是建造世界的砖瓦\n我知道他们是法杖,是咒语,拥有改变世界的魔法\n\n我不关心是谁创造了这个世界\n我只关心我们正在创造的世界")
# 摘自知乎@tefx

如同 \n 这样反斜杠加字符的被称为”转义字符“。

三引号

当然,这很麻烦,我们还可以这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
print("""我不想做个平庸的人类
我不想囿于双手,双脚和双眼

我想要了解
我想要操纵
我想要创造

我相信逻辑
我相信机器
我相信代码

我知道他们是熔炉,是铁锤,是建造世界的砖瓦
我知道他们是法杖,是咒语,拥有改变世界的魔法

我不关心是谁创造了这个世界
我只关心我们正在创造的世界""")
# 摘自知乎@tefx

img

是的,输入三对引号即可保留所有格式,这是 Python 非常方便的一点。

input 函数

print() 函数用于输出,input() 函数则用于输入,它的作用是获取用户输入的内容,它的参数用于提示用户,如:

1
input("请输入你的名字:")

可以结合 input() 函数嵌套使用,如:

1
print("你的名字是:", input("请输入你的名字:"))

越内部的小括号优先级越高,程序将先执行 input() 语句并将结果作用于 print() 语句,效果如图:

img

变量

我们还可以用“变量”来保存数据,在 Python 中,定义和调用变量非常容易:

1
name = "谭小蝶"

变量的概念,简单来说,基本上和数学中方程的未知数是一致的。只是在计算机程序中,变量不仅可以是数字,还可以是任意的数据类型,自然也包括上述的字符串。

为了便于理解,你还可以把变量想象成一个可以装物品的盒子,这个盒子有它本身的名字,即“变量名”;里面装的物品,就是它的“值”。

一个等号 = 是赋值诗句,等号左边的为变量名,右边为其值,程序会执行等号右边的语句并将结果赋给变量,包括且不限于以下形式:

1
2
3
4
5
name = "谭小蝶" # 为 "谭小蝶"
age = 18 # 为 18
number = 5 + 3 # 为 8
string = "hello," + "world" # 为 "hello, world"
copy_name = name # 为 "谭小蝶"

我们用 print() 函数打印出来看看:

img

需要注意,变量名可以是大小写字母、数字和_的组合,但不能用数字开头。作为一种好的编程习惯,你应该尽可能取有意义、便于分辩的变量名。

img

糟糕的变量名使代码难以阅读

运用我们新学的变量,将之前的程序改进一下:

1
2
3
name = input("请输入你的名字:")
age = input("请输入你的年龄:")
print("你好,",age, "岁的", name, "!")

占位符

print("你好,",age, "岁的", name, "!") 的书写可能并不方便,我们可以用“格式化字符串”的方式:

1
2
3
name = input("请输入你的名字:")
age = input("请输入你的年龄:")
print("你好,%s 岁的%s!" % (age, name))

效果当然是一样的,而我们编写代码时应该选择更简洁优雅的方式,这也正契合 Python 的精神。

形如 %s ,这种一个 % 加一个字母的被称为占位符,%s 表示一个字符串,用 input() 获取的默认是字符串类型。

占位符 替换内容
%s 字符串
%d 整数
%f 浮点数
%x 十六进制整数

占位符还有更多,以上是比较常用的几种。

小结

通过本教课程,你已经学会了基本的输入输出语句,了解了字符串相关内容,并且开始使用变量。在入门编程的道路上,又迈出了坚实的一步, 继续加油! 👏

安装 Python

安装 Python

如同使用一个软件前需要先安装一样,编写 Python 代码也需要先安装 Python 程序。

现在开始

现在着手安装我们的 Python,Python 是跨平台的编程语言,它可以运行于 Windows、Mac OS 以及 Linux/Unix 系统。在某一系统上所编写的 Python 程序,运行至其它系统也是能正常工作的。

Python 主要有两个大版本,2.x 和 3.x 版,二者不相兼容,由于 3.x 版本越来越普及,且 2.x 版本已很少有维护工作,本教程基于目前(2020 年 3 月)最新的 Python 3.8 为基础。

请在下方查看对应系统的安装方式。

Windows

使用安装程序进行安装,前往官网获取安装包。

img

注意在安装过程中勾选 Add Python 3.x to PATH

img

此处借用了廖雪峰先生的图

Mac OS

Mac OS 自带了 2.x 版本的 Python,使用安装程序安装最新的 3.x 版本,前往官网获取安装包。

Linux

Linux 系统同样自带了 Python 2.x 版本,请获取最新的 Python 3.x 版本。

使用 sudo apt install python3 命令安装(Ubuntu & Debian),相信正在使用 Linux 系统的你对此有一定的基础,其它 Linux 发行版的安装应该也没有问题。

运行 Python

Python 可以运行在各个平台上,现在我们在终端中启动 Python 的交互式环境。

Windows

同时按下 Win + R 键,输入 cmdpowersheel,进入 Windows 系统终端,输入 python 以进入 Python 交互式环境。

img

如上图,看到 >>> 提示符,说明你已成功安装 Python,并进入交互式环境,此时你可尝试输入代码并执行。

1
python : 无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路 径正确,然后再试一次。

如果显示了如上内容,应该是你未按上文提示将 Python 添加至 PATH,请重新进行安装,务必勾选 Add Python 3.x to PATH

1
'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。

同样是未添加至 PATH 所致,处理方法同上。

MacOS & Linux

输入 python 以进入 Python 交互式环境。

img

对于 MacOS 和 Linux ,如果系统中同时有 Python 2 和 Python 3 版本,输入 python3 以启动 Python 新版本。

img

第一行代码

现在,我们来编写你的第一行代码!

作为一个惯例,我们先向世界问个好,在交互环境下输入 print("hello, world!")

img

🎉 成功了!

在初学阶段,我建议输入任何代码都不要靠复制粘贴,对着这篇教程所展示的代码,逐个字母的输入进去,培养编程的感觉和经验。初学者经常会犯这些低级错误:拼写错误、大小写不对、中英文标点混用和空格和 Tab 键混用,通过“犯错 -> 发现 -> 解决”这一过程不断提升自己,逐渐培养好的编程习惯。

在交互模式下,输入代码可以直接执行,但是无法保存。我们不可能每次要运行一个程序,都从头开始写一遍代码。所以,交互环境用于调试代码和初学者学习,而不是正式编写、运行 Python 代码的环境。

开发环境

在实际的开发中,当然可以使用文本编辑器编写代码,保存后缀为 .py 的文件,再在终端中调用。

img

这并不是唯一的选择,对于初学者,我更推荐使用 IDE(Integrated Development Environment),集成开发环境)或集成类似功能的代码编辑器。

IDLE

如果你是 Windows 用户,那么在上述安装 Python 时已经附带一个叫“IDLE”的程序,它是一个轻量化的 Python IDE,我们不妨学习一下如何在 IDLE 中编写代码。

img

打开 IDLE 程序,“File -> New File”打开编辑器。

img

输入我们向世界问好的代码,按下 F5 保存以运行。

img

符号问题

特别注意,编程中皆使用英文半角符号,否则程序将报错,注意你的输入法状态:

img

IDE

现在你已经学会如何在 IDLE 编写代码并运行,IDLE 被设计为一个适用于教育环境的简单 IDE,比 IDLE 更好的选择是 PyCharm 或 Visual Studio:

img

img

文本编辑器

当然也可以选择 VScode 等文本编辑器,安装 Python 拓展,实现类似的效果:

img

别急,具体的内容将会在之后的教程中详细说明 🥳

小结

通过本节教程,你已经完成了 Python 的安装,并且可以通过文本编辑器加终端,或集成开发环境,编写和运行你的 Python 代码。

😘 这是了不起的突破!从屏幕上显示 “hello, world” 起,你已正式步入编程的大门。路漫漫其修远兮,在接下来的系列教程中,我们将上下求索。

从 Python 入门编程

从 Python 入门编程

如果你想学习编程,我建议从 Python 开始,跟着这一系列教程,你可以轻松愉快的学习它,并发现代码的魅力。

img

目前全世界大约有 600 多种编程语言,其中流行的编程语言不过 20 多种,Python 的天生优势契合近年来逐渐大火的人工智能、大数据技术,学习 Python 的人数越来越多,目前(2020 年 3 月),Python 已在全球最受欢迎的语言中排行第三,且涨势任然迅猛。

2020 年 2月 2019 年 2月 变化 编程语言 占比 变化
1 1 Java 17.358% +1.48%
2 2 C 16.766% +4.34%
3 3 Python 9.345% +1.77%
4 4 C++ 6.164% -1.28%
5 7 C# 5.927% +3.08%
6 5 Visual Basic .NET 5.862% -1.23%
7 6 JavaScript 2.060% -0.79%
8 8 PHP 2.018% -0.25%

上表数据来源于 www.tiobe.com 网站

img

只需保证以下几点,即使你零基础,也能很快上手 Python。

  1. 👩💻 对编程抱有持之以恒的兴趣。
  2. ❤ 一颗热心学习的心。
  3. 🖥 掌握基本的电脑使用方法。
  4. 🔎 懂得使用搜索引擎解决问题。

如果你曾经有学习编程的想法,那你很可能已经了解到 C、Java 等语言。Python 相较于它们更利于初学者上手,快速学习相关概念,领悟编程思维。实际上,只要你掌握任何一门编程语言,对学习任何新语言都大有裨益。

事不宜迟,现在开始 Python 的学习吧!

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

insular
保守的;只关心本国利益的;思想褊狭的;海岛的;岛屿的
If you say that someone is ( )思想狭隘的, you are being critical of them because they are unwilling to meet new people or to consider new ideas.
Analysis on ( )海岛 traffic policeman healthy risk and related affecting factors. 海岛交警健康状况及其影响因素调查
insulin 胰岛素, peninsula 半岛

littoral
海岸的,海滨
the part of a country that is near the coast
The measures for adjusting agricultural industrial structure in littoral area.
沿海地区调整农业产业结构的对策措施

kudos
荣誉
Kudos is admiration or recognition that someone or something gets as a result of a particular action or achievement.
A little kudos goes a long way

apotheosis,(事业或人生的)巅峰,顶峰; 典型;典范;榜样
If you describe an event or a time as someone’s apotheosis, you mean that it was the high point in their career or their life.
If something is the apotheosis of something else, it is an ideal or typical example of it.
The Oriental in Bangkok is the apotheosis of the grand hotel.
That night was Richard’s apotheosis.

accolade,
赞扬;表扬;奖励;奖赏;荣誉
praise or an award for an achievement that people admire
The Nobel prize has become the ultimate accolade in the sciences

headlong
轻率地
without thinking carefully before doing sth
The government is taking care not to rush headlong into another controversy.
莽撞地;慌慌张张地
quickly and without looking where you are going
He ran headlong into a police car.

fraud
欺诈罪;欺骗罪
the crime of cheating sb in order to get money or goods illegally
This is not the first time he has been investigated by the police for fraud.

aplomb
镇定;沉着;泰然自若
if sb does sth with aplomb , they do it in a confident and successful way, often in a difficult situation
He delivered the speech with his usual aplomb.

lugubrious
悲戚的;悲伤的
If you say that someone or something is lugubrious, you mean that they are sad rather than lively or cheerful.
He always has such a lugubrious look on his face.
他脸上总带着阴郁的神色

lucubrate(在夜间,在灯下)刻苦研究,详细论述
add details, as to an account or idea
She elaborated on the main ideas in her dissertation.
The paper lucubrates the signal collection and communication parts.

eminent
(尤指因专业出众而)著名的,受尊敬的,有声望的
An eminent person is well-known and respected, especially because they are good at their profession.
She invoked several eminent scholars to back up her argument.
她援引了几位赫赫有名的学者来支持她的论点

mettlesome
意气风发的;精神抖擞的;精神抖擞;勇敢的;精神饱满的
having a proud and unbroken spirit
The mettlesome actress resumed her career after recovering from a stroke.

emblematic
象征性的;标志的;象征(性)的;特有的;典型的;有代表性的
that represents or is a symbol of sth
that is considered typical of a situation, an area of work, etc.
The violence is emblematic of what is happening in our inner cities.
Dogs are emblematic of faithfulness.

platonic
柏拉图式的,纯精神而无肉欲的
Platonic relationships or feelings of affection do not involve sex
She values the platonic friendship she has had with Chris for ten years.

decrepit
破旧的;年久失修的;衰老的
Something that is decrepit is old and in bad condition. Someone who is decrepit is old and weak.
The infrastructure, from hotels to transport, is old and decrepit.

impeccable
无瑕疵的;无可挑剔的
If you describe something such as someone’s behaviour or appearance as impeccable, you are emphasizing that it is perfect and has no faults.
He has an impeccable sense of timing
他有着无可挑剔的节奏感。

Fifty yeras ago, flames sprang from the oil-slicked surface of a Cleveland river.
spring from 突如其来地从(某处)出现
oil-slicked 覆盖一层油的;满是浮油的

Oil gushed from a busted well off California, swamping anything that lived in the ocean.
gush from/out of/into sth (从…中)喷出,涌出,冒出

Such an eye-popping slide is the result of a quirk in the oil market, but it underscores the industry’s disarray as the coronavirus pandemic decimates the world economy.
eye-popping 使人瞠目的
underscore 突出显示,强调
decimate 严重破坏,大大削弱

Molecular Dynamics Simulation of the structure and Properties of CaO-SiO2-CaF2 slag systems

microstructure, binary basicity, viscosity