文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。
笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888
名称 | 描述 |
---|---|
BIF | 内置函数(Build-in Function),python已实现的函数库,方便开发者直接调用使用 |
单行注释:
单行注释使用 # 符号。
# 这是一个注释
#!/usr/bin/python3
print("Hello, World!")
多行注释:
&ems; 多行注释可以使用 单引号(’’’) 或者 双引号(""") 实现。
#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
#!/usr/bin/python3
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("Hello, World!")
缩进是python的灵魂;在python中有着严格的缩进要求,只有正确的使用缩进,才能是代码达到预期的目的。
注意:在python的 IDLE 中Tab键缩进是 8 个空格。
在python中,数据的类型并不是由关键词来控制的,而是根据初始赋值来决定的。这是python和 C/C++ 和 Java语法的区别。
同 C/C++ 和 Java 语言一样,在 python 中也有变量参数。不过,python和其他编程语言不同的是,在python中直接定义变量名即可,变量的类型是有初始赋的值来决定的。
注意事项
整形数: 简单来说就是我们常见的整形数值。在python中整形和长整型是一样的,几乎不受大小限制的(如果非说有限制,那只受限于计算机的虚拟内存的总数)。
#整数类型
>>> value = 3
>>> print(value)
3
#算式
>>> x = 1
>>> y = 1
>>> z = x + y
>>> print(z)
2
浮点形数: 浮点数简单来说,就是我们常见的带有小数点的数字;列如圆周率 3.1515926…。
#浮点数
>>> fNum = 3.1415926
>>> print(fNum)
3.1415926
布尔形数: 布尔类型实际上是特殊的整形数值,只不过他是使用 True(值为1) 和 False(值为0) 来表示的。
# 布尔值相加
>>> True + True
2
>>> True + False
1
# 错误写法,False(0) 不能做除数
>>> True / False
Traceback (most recent call last):
File "" , line 1, in <module>
True / False
ZeroDivisionError: integer division or modulo by zero
字符串: 目前为止,我们所认知的字符串都是在引号(单引号或者双引号)中文本。和其他语言不同的是,在python中的字符串使用单引号或者双引号都可以。
性能优化:
#双引号
>>> str = "hello python"
>>> print(str) #也可以直接写 str 进行打印输出
hello python
#单引号
>>> str = 'hello ' + 'python'
>>> str
'hello python'
#如果字符串中有引号,可以使用转移符号(\)进行转义,否则将会报错
>>> str = 'let\'s go'
>>> str
"let's go"
#错误语法,未转义文本中的单引号
>>> str = 'let's go'
File "" , line 1
str = 'let's go'
^
SyntaxError: invalid syntax
#字符串中的 \n ,在使用print函数打印时,会被解析成换行;
#但是使用变量名输出时,是没事的
>>> str = 'c:\now'
>>> str
'c:\now'
>>>
>>> print(str)
c:
ow
#所以为了消除这个影响,可以使用一个英文字母 r 来解决该问题
#print输出的直接是字符串, 变量名输出的是带上单引号的
>>> str = r'F:\now'
>>> print(str)
F:\now #字符串本身
>>>
>>> str
'F:\now' #带有引号
#无论哪种字符串,都不能以反斜杠(\)作为结尾,否则会报错
>>> str = 'hello python \'
File "" , line 1
str = 'hello python \'
^
SyntaxError: EOL while scanning string literal
#多文本字符串操作
#可以使用换行符 (\n)
>>> str = "hello \n python"
>>> print(str)
hello
python
#在python中还可以使用三重引号字符串(""" 多文本内容 """)来轻松的实现
>>> str = """hello
... python"""
>>> print(str)
hello
python
类型转换:在某种情况下,我们需要整形数、浮点数、字符串相互转化,这个时候我们就可以使用一下几个函数来实现。
################# int() #####################
>>> a = int('36') #字符串转整形
>>> a
36
>>> a = int(3.1415926) #浮点数转整形
>>> a
3
################# float() #####################
>>> fNum = float("3.1415926") #字符串转浮点数
>>> fNum
3.1415926
>>> fNum = float("3") #整形数转浮点数
>>> fNum
3.0
################# str() #####################
>>> string = str(3.1415926) #浮点数转字符串
>>> string
'3.1415926'
>>> string = str(3) #整形数转字符串
>>> string
'3'
获取变量数据类型: 因为python的变量定义没有类型关键词控制,所以有时我们可能无法快速判断出一个变量的数据类型,这个时候,我们就可以采用下面的函数来实现。
#定义一个变量
>>> string = "hello python"
#使用type(...)判断类型
>>> type(string)
<type 'str'>
#使用isinstance(...)判断类型
>>> isinstance(string, str) #变量名参与比较
True
>>> isinstance(string, int)
False
>>> isinstance(520, int) #常量数值参与比较
True
>>> isinstance(3.1415926, float)
True
名称 | 功能描述 |
---|---|
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取余运算 |
** | 幂运算,列如:3**2 前面的2是底数,后面的3是指数 |
// | 除法运算,浮点数取整,列如:3.6//2,置为1.0 |
# + - * / % 五种运算比较好理解,这里不再详细介绍
>>> 1 + 1
2
>>> 1 - 1
0
>>> 3 * 4
12
>>> 3 / 2
1
>>> 3.0 / 2
1.5
>>> 3 % 2
1
>>> 3 ** 2 #幂运算,表示3的2次方
9
>>> 3 ** -2
0.1111111111111111
########## 两除法的比较 ##########
#整数类型的运算无差异
>>> 3 / 2
1
>>> 3 // 2
1
#浮点类型的运算存在差异
>>> 3.012 / 2 #浮点运算结果是有小数位的
1.506
>>> 3.012 // 2 #浮点的结果,小数位舍弃
1.0
比较预算符容易理解,条件成立返回True,失败返回False,这里就不在一一介绍了。
名称 | 描述 |
---|---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
!= | 不等于 |
>>> 1 > 2
False
>>> 1 != 2
True
名称 | 描述 |
---|---|
and | 逻辑与,两边同时为真,才是真 |
or | 逻辑或,有一个为真,既是真 |
not | 逻辑非,一元操作符,返回和操作数相反的布尔值 |
>>> (1 > 0) and (2 > 1) #两个条件同时为真才是真
True
>>> (1 > 2) or (2 > 1) #两个条件有一个为真,即是真
True
>>> not True #取逻辑非
False
if-else 语句是用来判定给定的条件是否满足的语句,该语句会根据给定的条件来决定该执行那种操作。
格式:
################ 语法 1 ################
if 判断条件: #此处 冒号(:)不能省略
条件处理1-1 #如果有多行,需相同缩进
条件处理1-2
else: #此处 冒号(:)不能省略
条件处理2
################ 语法 2 ################
if 判断条件1: #此处 冒号(:)不能省略
条件处理1
elif 判断条件2: #此处 冒号(:)不能省略
条件处理2
else: #此处 冒号(:)不能省略
条件处理3
################ 语法 3 ################
#条件表达三目运算
a = x if 条件 else y #条件成立将 x 赋值给 a,否则将 y 赋值给 a
注意事项:
>>> a = 1
>>> b = 1
>>> if a > b:
print('xxx')
else:
print('cccc')
cccc # 输出结果
>>> if a > b:
print('a > b')
elif a == b:
print('a == b')
else:
print('a < b')
a == b # 输出结果
#三目运算
>>> x = 1
>>> y = 2
>>> a = x if a > b else y
>>> a
2
while 循环:Python 中的 while 循环和 if 条件分支有些类似,在条件为真(True)的情况下循环执行一段代码,直到条件变为假(False)退出循环。
for 循环:通过自动调用迭代器的 next() 方法,会自动捕获 StopIteration 异常并结束循环。
循环代码优化
虽然计算机运算速度越来越快,空间也越来越大,但是我们仍然需要在性能问题上 “斤斤计较”,编写循环流程是尽量遵循以下几个准则:
格式:
# while 循环格式
while 条件表达式:
循环体语句
# for 循环格式
for 变量 in 可迭代对象(需要遍历的集合):
循环体语句
# while 循环演示
>>> a = 5
>>> b = 1
>>> while a > b:
print('a=' a) #错误写法
SyntaxError: invalid syntax
>>> while a > b:
print('a = ', a) #正确写法
a = a - 1
a = 5
a = 4
a = 3
a = 2
# for 循环演示
>>> vct = [1, 2, 3, 4] #列表变量,后面会介绍
>>> for each in vct
SyntaxError: invalid syntax
>>> for each in vct:
print('each = ', each)
each = 1
each = 2
each = 3
each = 4
break: 的作用是终止当前循环,跳出循环体。
continue: 的作用是终止本轮循环并开始下一轮循环(在开始下一轮循环之前,会优先判断循环条件,只有循环成立的情况下才会进入下一轮循环,否则直接退出循环)。
>>> vct = [1, 2, 3, 4]
>>> for each in vct: #打印数字 2
if each != 2: #不是数字 2 直接跳过
print('next num')
continue
if each == 2: #是数字 2 打印输出,并退出循环
print('each = ', each)
break
# 输出结果
next num
each = 2