python 基本数据类型以及控制结构语法【含代码演示案例】

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888

1、Python语言专用名词

名称 描述
BIF 内置函数(Build-in Function),python已实现的函数库,方便开发者直接调用使用

2、注释语法

单行注释:
  单行注释使用 # 符号。

# 这是一个注释
#!/usr/bin/python3
print("Hello, World!")

多行注释:
&ems; 多行注释可以使用 单引号(’’’) 或者 双引号(""") 实现。

#!/usr/bin/python3 
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号 
这是多行注释,用三个单引号
'''

#!/usr/bin/python3 
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
"""
print("Hello, World!")

3、缩进控制

  缩进是python的灵魂;在python中有着严格的缩进要求,只有正确的使用缩进,才能是代码达到预期的目的。
注意:在python的 IDLE 中Tab键缩进是 8 个空格。

4、python语法基础

4.1、基本数据类型

  在python中,数据的类型并不是由关键词来控制的,而是根据初始赋值来决定的。这是python和 C/C++ 和 Java语法的区别。

  同 C/C++ 和 Java 语言一样,在 python 中也有变量参数。不过,python和其他编程语言不同的是,在python中直接定义变量名即可,变量的类型是有初始赋的值来决定的。

注意事项

  • 在使用变量前,需要对其进行赋值(初始值)。
  • 变量名可以包含 字母、数字、下划线,但是变量名不能以数字开头。
  • 在python中变量名是区分大小写字母的(大写和小写是不同的变量)。

整形数: 简单来说就是我们常见的整形数值。在python中整形和长整型是一样的,几乎不受大小限制的(如果非说有限制,那只受限于计算机的虚拟内存的总数)。

扫描二维码关注公众号,回复: 13132718 查看本文章
#整数类型
>>> 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 "<pyshell#8>", line 1, in <module>
    True / False
ZeroDivisionError: integer division or modulo by zero

字符串: 目前为止,我们所认知的字符串都是在引号(单引号或者双引号)中文本。和其他语言不同的是,在python中的字符串使用单引号或者双引号都可以。

性能优化:

  • 连接多个字符串,尽量使用join,而不要使用 + 。
#双引号
>>> 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 "<stdin>", 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 "<stdin>", 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(…) : 建一个浮点数或者字符串转化成整数。浮点数转化时,会采用去尾法(直接去掉小数点后面的数值,而不是四舍五入)。
  • float() :将一个字符串或者整数转化成浮点数。
  • str() :将一个数(整形后者浮点型)或者其他类型转换成一个字符串。
#################  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的变量定义没有类型关键词控制,所以有时我们可能无法快速判断出一个变量的数据类型,这个时候,我们就可以采用下面的函数来实现。

  • type(变量名) : 获取变量的类型。
  • isinstance(变量名,数据类型<int, float, str>) : 类型一致,返回True,否则返回False。
#定义一个变量
>>> 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

4.2、运算符

4.2.1、算术运算符

名称 功能描述
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余运算
** 幂运算,列如: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

4.2.2、比较运算符

  比较预算符容易理解,条件成立返回True,失败返回False,这里就不在一一介绍了。

名称 描述
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
>>> 1 > 2
False
>>> 1 != 2
True

4.2.3、逻辑运算符

名称 描述
and 逻辑与,两边同时为真,才是真
or 逻辑或,有一个为真,既是真
not 逻辑非,一元操作符,返回和操作数相反的布尔值
>>> (1 > 0) and (2 > 1)  #两个条件同时为真才是真
True
>>> (1 > 2) or (2 > 1)  #两个条件有一个为真,即是真
True
>>> not True #取逻辑非
False

4.3、控制结构

4.3.1、条件判断(if-else、if-elif-slse)

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

注意事项:

  • 出现以下值时,条件为假 —— False(布尔值),0(整数零), 0.0(浮点零), 空值, 空序列对象(空列表,空元祖,空集合,空字典,空字符串)、空range对象,空迭代对象。其他情况均为真。
  • 条件判断是可以嵌套的。
>>> 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

4.3.2、循环语句(while、for)

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

4.3.3、break、continue 语句

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

猜你喜欢

转载自blog.csdn.net/Aliven888/article/details/114088590