开始使用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]
为1
,a[1]
为2
,a[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}
其中:test
和hmm
为下标,可以用a[index]
访问。1
和2
为下标对应的值。
如:a['test']
即为1
,a['hmm']
即为2
。
一些常见的运算
Python内置的运算符有+
,-
,*
,/
,**
,//
,%
,and
,or
,not
,in
等等,我没有列举全。
算术运算符
+
+
,顾名思义,在int
和float
中和数学里的+
是一样的
例如:
>>> 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')
-
-
只支持float
和int
,和数学上的-
类似。
>>> 2-1
1
>>> 8.8-7.8
1.0
*
同-
,和数学上的*
类似。
>>> 9*9
81
>>> 5*8
40
/
除法,返回float
类型
>>> 1/2
0.5
>>> 2/2
1.0
**
乘方,仅支持int
和float
类型
>>> 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
为“或”。
and
和or
都是双目运算符,即左右两边都有一个对象参与运算。
例:
>>> 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()
函数,都是直接传入一个参数,这种当然是最简单的一种。下面介绍几种传参方式。
位置传参
按照参数表按次序传参,和前面一样,不赘述了。关键字传参
什么意思?
假如有一个函数,定义为def func(val1,val2)
那么,func(1,2)
就默认val1
为1
,val2
为2
。
如果这样传参:func(val2=1,val1=2)
那么,val1
就是2
,val2
就是1
。表传参
字典传参
hmmmmm,太复杂了,新手不需要这些……
盲猜不会
在?把监控拆了。
若没有本文 Issue,您可以使用 Comment 模版新建。