首先,在开始这个专栏式的教程之前,你需要知道以下几件事:

  • 为了继续看下去,建议你安装Python实机操作

  • 不建议使用手机,请用PC

  • 本文作者懒得写安装过程了。详见@RSGC2-18的Python的安装

  • 你最好需要一个文本编辑器。详见@RSGC2-18的配置Python开发工具——VS Code

确保这三项万无一失后,请你打开powershell,键入py,不出意外你会看见这样(或者类似这样):

img

假如不是这样的话,请重新安装python,记得勾选“add python to PATH”,另外Customize installation中要全钩上。

 

那么我们开始。

 

1.1 基本中的基本语法

1.1.1 一个实例

首先你必须知道,python有两个最最最基本的函数:print()input()

打开Visual Studio Code(以下均称为VS Code),新建文件mypython.py(文件名能改,但别忘了后缀!)

先不用管里面这些是什么意思,总之你将下面这坨代码打进文件里:

print("Python is awesome!")
print("Python is great!")
print("I love Python!")
string = input("Do you like python? > ")
print(f"Your answer is '{string}'.")

(其实复制粘贴倒也真没什么,没有@RSGC2-18说的这么严重。毕竟我初学python的时候,靠的是@RSGC2-18推荐的《Learn Python 3 The Hard Way》(Zed A. Shaw),在图书馆里硬啃了一个学期,连电脑都没碰过。)

(啊虽然@RSGC2-18的理论就是从那里学来的,不过没关系啊!我做这个反面教材就是为了告诉大家不手写代码也能学会Python,但你至少要复制粘贴。)

就像这样:

img

然后在终端里运行。我这里的路径是d:\temp\mypython.py,因人而异,你可以替换路径。

PS C:\Users\rice> py d:/temp/mypython.py
Python is awesome!
Python is great!
I love Python!
Do you like python? > Yes
Your answer is 'Yes'.

刚刚的实例牵扯到了print()input(),我们先来介绍它的最基本的用法。

1.1.2 print()

关于这个函数,目前你只需要记住:这个函数会把括号里的第一个参数“打印”到控制台里。

例如我们打开终端(powershell),键入下面的一些例子:

PS C:\Users\your_name> py
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:43:08) [MSC v.1926 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("foo")
foo
>>> print("bar")
bar
>>> print(1024)
1024
>>> print(None)
None
>>>

懂了吗?请看下面的例题:

例题 1.1.2-1 请编写一个python程序,使得它在终端中运行时输出以下内容:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

答案 如下:

print("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
print("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.")
print("Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.")
print("Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")

是不是很简单?

1.1.3 input()

对于input(),你可以暂且认为是类似于网站里让你输的表单输入框。

我们可以看下面的实例:

>>> input("What's your name? ")
What's your name? Foo
'Foo'

其中Foo是输入的内容。可以看到,我们输入Foo时,函数返回'Foo'

那么究竟如何才能把这些东西存起来?往下看:

1.1.4 关于变量的那些事儿

在C中,大多数变量的定义需要声明类型。

在JavaScript中,定义一个量甚至还有三种方法:varletconst

python则不用。假如我们要把1储存到变量a中,只需要下面几个字符:

a = 1

甚至我们可以一次定义两个变量。假如我们要将'foo''bar'分别存进ab中,就像这样:

a, b = 'foo', 'bar'

是不是很简单?请看例题:

例题 1.1.4-1 这个控制台事先没有变量储存。请在控制台的[A]处与[B]处补上python代码:

>>> [A]
>>> x = 10
>>> a
'This is Python'
>>> b
'Foo Bar'
>>> x
[B]

答案 [A]a, b = 'This is Python', 'Foo Bar'[B]10

1.1.5 在字符串中使用变量

有了变量不用怎么行?假如说我们要输出一个带变量的字符串该怎么办?

其实,有几种方法:

第一种 f-string字符串

这种是最容易的。假如我们要输出的字符串是您的余额是:[A],其中A为变量,我们可以用这样的方法将A代入:

A = 100
print(
    f"您的余额是:{A}"
)

输出结果:

您的余额是:100

很简单,对不对?

第二种 format()函数

这个相对于前者更复杂,也更抽象。还是前面的字符串,我们可以这么输出:

A = 100
print(
    "您的余额是:{}".format(A)
)

第三种 使用%

这种方法不建议使用,一笔带过:

A = 100
print(
    "您的余额是:%d" % A
)

说实话,我到现在还没有发现它的优点(除了在宴会上装逼

1.1.5 一个最简单的程序

例题 1.1.5-1 请用python写出一个程序,使得效果如下:

Hello! What's your name? > rice0208
Hi, rice0208! Nice to meet you! How old are you? > 14
Oh, I see, you are 14! What's your height? > 168
You are 168 centimeters tall! What's your weight? > 48
Nice done! You are 48 kilograms in weight!
rice0208, you are 14, and 168 centimeters tall, and weighs 48 kilograms.

写出这个程序比较简单:首先,我们要询问用户的名字,也就是

name = input("Hello! What's your name? > ")

然后,在询问年龄的同时,我们给出用户的名字,

age = input(
    f"Hi, {name}! Nice to meet you! How old are you? > "
)

如法炮制:

height = input(
    f"Oh, I see, you are {age}! What's your height? > "
)
weight = input(
    f"You are {height} centimeters tall! What's your weight? > "
)
print(
    f"Nice done! You are {weight} kilograms in weight!"
)

最后输出所有信息:

print(
    f"{name}, you are {age}, and {height} centimeters tall, and weighs {weight} kilograms."
)

完整代码:

name = input("Hello! What's your name? > ")
age = input(
    f"Hi, {name}! Nice to meet you! How old are you? > "
)
height = input(
    f"Oh, I see, you are {age}! What's your height? > "
)
weight = input(
    f"You are {height} centimeters tall! What's your weight? > "
)
print(
    f"Nice done! You are {weight} kilograms in weight!"
)
print(
    f"{name}, you are {age}, and {height} centimeters tall, and weighs {weight} kilograms."
)

答案 如上。

1.1.6 常见问题

Q:变量名可以用中文吗?

A:不建议。

Q:我可以更改上面的代码吗?

A:可以。但是要保证能运行。

Q:我没有文本编辑器。

A:看看@RSGC2-18的文章。或者你可以用IDLE。

1.1.7 习题

习题 1.1-1 尝试在程序中添加更多信息。

 

(可能会更新,也可能会黄)

This post belongs to Column 「Python初级教程」 .

10 comments
latest

  • rice0208
    Admin

    @RSGC2-18 熟悉的味道

  • Itachi
    Admin
    rice0208:

    @RSGC2-18 熟悉的味道

    确实

  • wind

    其实看下来感觉一下:

    input是类似于scratch中的“回答”或者是C中的cin

    然后用“=”定义一个变量为一个参数(比如input)

  • Deleted Flog User

    实际上第三种方式是C、Go等语言的唯一的往字符串中嵌入变量值的方法,而且f-string的高阶使用方式灵感直接来源于此。而且在某些变态的库比如flask-babel中,只有通过这种方式才能往翻译文件里嵌入python变量。

    全盘否定这种方法我认为有失妥当。

  • Deleted Flog User

    除了这个点,其他写得都挺好的。希望这个系列能继续更新,不要像我的那个专栏一样黄掉。

  • Miki_Sayaka
    Admin

    沙雕程序:

    print("Hello world.")

  • hydrogen
    Author
    :

    实际上第三种方式是C、Go等语言的唯一的往字符串中嵌入变量值的方法,而且f-string的高阶使用方式灵感直接来源于此。而且在某些变态的库比如flask-babel中,只有通过这种方式才能往翻译文件里嵌入python变量。

    全盘否定这种方法我认为有失妥当。

    你把str().format(self)放哪了

  • Deleted Flog User
    hydrogen:

    你把str().format(self)放哪了

    ???啥意思

  • hydrogen
    Author
    :

    ???啥意思

    format的功能在我看来比%强得多

  • Deleted Flog User
    hydrogen:

    format的功能在我看来比%强得多

    省省吧,format的功能、灵活性各方面都不及%,只是%不如format更加“Pythonic”

    就举一个例子:

    print("%.2f" % 123) # 输出123.00

    print("%.2f" % 12.1) # 输出12.10

    用format写得写成这样:

    print("{:.2f}".format(123))

    明明能不写,却非要写一个format单词不是闲得慌吗?