开始使用Python!

Python是一门上手容易的解释性语言,非常适合初学者使用。
本篇博客以Python 3.9进行介绍。

你好,世界!

学一门语言,首先要知道他的输出语句

Python的输出语句为print()
试着在Python终端里面输入print('Hello world')
输出:

Hello world

很好,你已经编写了第一行Python语句!

print()的标准格式为:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

但是初学者并不需要掌握那么多。
只需知道print(对象)就行了。

帮助

为了少走弯路,必须学会看文档。

输入:

help()

可以进入help命令行。

输入:

help(你想查询的对象)

可以获取该对象的帮助文档。

变量

啥是变量?

简单来说,变量就是一个特殊的名字,里面存着一些对象,这些对象可以改变。

变量怎么定义?

Python的变量无需声明,直接拿来用就好了。

什么意思?

举个例子,有一个人前来买瓜,他直接把老板捅了,这就叫不声明直接使用。
有一个人前来买瓜,他先和老板唠唠嗑,再把老板捅了,这就叫声明后使用。

开个玩笑。

像C语言,变量必须先int val;,然后再val=114514;,前面有一个声明的过程,相当于和计算机说一下“我有个变量要用”。
这个变量为什么这么臭啊

而Python呢,直接val=114514,不需要和计算机说明“我有个变量要用”。
这变量太臭了不能要了

所以你还是没说怎么变量怎么定义啊喂!

上面的,别着急。

变量的定义方式是变量名=对象
例如:

a=1
b=2
senpai=114514
shout='哼哼哼啊啊啊啊啊啊啊啊啊啊啊'

好像混进了奇怪的东西

注意:变量名只能以字母,汉字(这个看编码)或下划线开头,不可以和保留关键字相同,如果相同,保留关键字将会被替代

保留关键字就是Python内部的一些类名、函数名等等,包括int, float等等

变量能干嘛?

变量可以参与运算,作为参数传入函数等等。

在Python控制台输入以下代码:

a=114
b=514
s='哼哼哼啊啊啊啊啊啊啊啊啊啊啊'

再执行这行代码:

print(a)
print(b)
print(s)

输出:

114
514
哼哼哼啊啊啊啊啊啊啊啊啊啊啊

而不是:

a
b
s

这样,a, b, s就变成参数传入print()函数里了,输出的是变量代表的对象,而不是变量名。

输入:

print(a+b)

输出:

628

可以看到,变量参与了运算。

改变变量的值(赋值)

和定义变量差不多,直接变量名=对象就完事了。

有几个特殊的赋值方法:+=, -=, *=, /=, **=, //=, %=,表示将前面和后面的对象先运算,再将结果赋值到前面的变量。
例如a+=1等价于a=a+1

一些数据类型

简单介绍

严格来说,Python里面的“数据类型”应该叫类,毕竟是面相对象嘛

面相对象和类是啥?

这个以后再说。

a='哼哼哼啊啊啊啊啊啊啊啊啊啊啊'
#a是一个字符串(str)对象
b=114514
#b是一个整数(int)对象
c=0.1919810
#c是一个实数(float)对象
d=[1,1,4,5,1,4]
#d是一个列表(list)对象
e=(1,9,1,9,8,1,0)
#e是一个元组/定值表(tuple)对象
f={'a':1,'b':2,'c':3}
#f是一个字典(dictionary/dict)对象
g=True
#g是一个布尔(bool)对象

另外,用type()函数可以查看变量所属的数据类型(类)。
用法:

a=114514
type(a)

输出:

int

list, tuple, str, dict

list

Python中的列表,一个列表可以存储一组对象,list[]括起来。

a=[1,2,3]

上述代码,定义了一个list,内容为[1,2,3]

可以通过a[index]来访问列表中的元素。
index为下标,下标从0开始,到列表长度-1结束。
如上述代码中,a[0]1a[1]2a[2]3
下标为负,表示从后往前数,比如a[-1]为最后一个元素,为3

tuple

tuple意为“元组”或者“定值表”,相当于不能改变内容的list,元组用()括起来
下标访问和list类似,就不重复了。

例:

a=(1,2,3,4)

上述代码定义了一个tuple

str

字符串,是一种特殊的tuple,用一对'或者"括起来。

例:

a='abcd'
b="efg"

dict

意为“字典”,相当于能自定义下标类型的list

定义方法,例:

a={'test':1,'hmm':2}

其中:testhmm为下标,可以用a[index]访问。
12为下标对应的值。

如:a['test']即为1a['hmm']即为2

一些常见的运算

Python内置的运算符有+-*/**//%andor
notin等等,我没有列举全。

算术运算符

+

+,顾名思义,在intfloat中和数学里的+是一样的

例如:

>>> 1+1
2
>>> 1.1+2.2
3.3

在一些可遍历的数据类型,如str, list, tuple, dict中,+仅仅把两个对象合在一起。

例如:

>>> [1,2]+[3,4]
[1, 2, 3, 4]

>>> 'abc'+'def'
'abcdef'

>>> ('a','b')+('c','d')
('a','b','c','d')

-

-只支持floatint,和数学上的-类似。

>>> 2-1
1
>>> 8.8-7.8
1.0

*

-,和数学上的*类似。

>>> 9*9
81
>>> 5*8
40

/

除法,返回float类型

>>> 1/2
0.5
>>> 2/2
1.0

**

乘方,仅支持intfloat类型

>>> 9**2
81

//

整除,向下取整(去掉小数部分)

>>> 2//3
0
>>> 2//2
1

%

模,取余数

>>> 3%2
1
>>> 3%(-2)
-1
>>> (-3)%2
1
>>> (-3)%(-2)
-1

逻辑运算符

==

两个赋值号,为等于号。
如果两边的值一样,返回True,否则返回False

例:

>>> 1 == 2
False
>>> 1 == 1
True

!=

这个符号为不等号,作用和等于号相反。

例:

>>> 1 != 2
True
>>> 1 != 1
False

<, >, <=, >=

小于号,大于号,小于等于号和大于等于号。
式子成立,返回True,反之返回False

例:

>>> 1 < 2
True
>>> 1 > 2
False
>>> 1 <= 1
True
>>> 1 >= 1
True

and, or

字面意思,and为“与”,or为“或”。

andor都是双目运算符,即左右两边都有一个对象参与运算。

例:

>>> True and False
False
>>> True or False
True

什么意思?当and两边都是非0值时,返回True,反之返回False
or两边都不是非0值时,返回False,反之返回True

not

字面意思,“非”。

not为单目运算符,只需要一个对象参与运算。

例:

>>> not True
False
>>> not False
True

not返回他后面对象的相反值。

in

in意为“是否在……中”,是返回True,不是返回False
例:

>>> 1 in (1,2)
True
>>> 1 in [3,4]
False
>>> 'a' in 'ab'
True

注:后面那个对象只能是可遍历的数据类型。

判断语句

Python中的判断语句为if

if语句的格式:

if val1:
    ...
elif val2:
    ...
elif val3:
    ...
else:
    ...

注:Python对缩进极为严格,缩进一定要是4个空格或者一个Tab

这段代码的意思是:
先看if val1,如果val1为非0值,那么执行val1下的语句块。
如果为0,那么再看elif val2……
如果上述if, elif都不执行的话,执行最后一个else下面的语句块。

val1, val2等等都是一个bool值。如果不是,Python将自动转换。

其中,elif, else都可以不出现,所以这段代码还有这样的写法:

if val1:
    ...
if val1:
    ...
elif val2:
    ...
elif val3:
    ...
if val1:
    ...
else:
    ...

循环语句

Python的循环语句主要有while, for两种形式。

while

while语句的格式为:

while val:
    ...

这段代码的意思为:当val为非0值时,循环执行下面的代码,直到val为0时,跳出循环。

例:

a=1
while a<=5:
    print(a)
    a+=1

输出:

1
2
3
4
5

for

for语句的格式为:

for x in val:
    ...

注:val的类型必须是可遍历数据类型。

这段代码的意思为:将x依次赋值为val的每一个元素,再执行下面的代码块。

如:

for x in (1,2,3,4):
    print(x)

这段代码中,x依次赋值为1, 2, 3, 4

range()函数

这个函数能生成有序tuple

用法:range(stop)
这个函数返回(0, 1, 2,...,stop-1)
用这个函数配合for使用更佳。
例:

for x in range(10):
    print(x)

输出:

0
1
2
3
4
5
6
7
8
9

当然,这个函数还有range(start,stop,step)的用法,就不说了,相信各位应该可以翻文档看到用法的。

懒就不要找借口

住口,无耻老贼!

break&continue

break语句:跳出循环。
continue语句:跳出本次循环。

例:

for x in range(10):
    if x == 5:
        break
    print(x)

输出:

0
1
2
3
4

例:

for x in range(10):
    if x == 5:
        continue
    print(x)

输出:

0
1
2
3
4
6
7
8
9

函数

函数是什么?

函数(function)在数学中是两不为空集的集合间的一种对应关系:输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素。
摘自搜狗百科

这是数学的定义,不过大部分编程语言中的函数和这个定义的一点是差不多的。

输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素。

编程语言里的函数差不多就是,给定一些参数,执行相应的代码或者返回一个确定的对象。

还记得开头提到的print()函数吗?

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

其中,括号里的东西就是传进去的参数

定义一个函数

Python中,定义函数的方法如下:

def func(val1,val2,val3,...):
    ...

其中,func为你的函数名。
val1, val2, val3等等为你要传入的参数名。

现在我们来定义一个函数吧。

def add1(num): #括号内为参数表
    ans=num+1 #将ans赋值为num+1
    return ans #将ans作为函数的返回值

return语句的意思为:调用这个函数,返回一个值,并且立即关闭这个函数。

函数的调用

我们来运行一下这个函数吧。

>>> add1(3)
4

可以看到,add1(3)这个语句就代表4

这样就成功调用了先前定义的函数。

函数不仅能独立运行,还能参与运算,甚至可以作为其他函数的参数。

>>> add1(3)+1
5
>>> add1(add(3))
5

学废了吗?

参数默认值

定义函数时,参数表中的参数后加=一个对象时表示默认,即不传入该参数时的默认值。

我们再来定义一个函数:

def min1(num=1):
    ans=num-1
    return ans

调用一下

>>> min1(1)
0
>>> min1()
0

当不传入参数的时候,默认为1

函数参数的传入

之前提到的print()函数和自己定义的add1()函数,都是直接传入一个参数,这种当然是最简单的一种。下面介绍几种传参方式。

  1. 位置传参
    按照参数表按次序传参,和前面一样,不赘述了。

  2. 关键字传参
    什么意思?
    假如有一个函数,定义为def func(val1,val2)
    那么,func(1,2)就默认val11val22
    如果这样传参:func(val2=1,val1=2)
    那么,val1就是2val2就是1

  3. 表传参

  4. 字典传参

hmmmmm,太复杂了,新手不需要这些……

盲猜不会

在?把监控拆了。