返回顶部
扶摇直上九万里,展翅高飞岂可待。

Python——基本数据类型(三)(重点!!!)

1. 变量与关键字

变量:

i = 1
print (i)
j = 2
print (j)

print打印结果:1、2

关键字:

import keyword
print (keyword.kwlist)

print打印结果:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

2. 单行打印与多行打印

# 单行打印
s = "hello World,你好,世界!!!"
print(s)
# 多行打印,打印出来的效果是分为多行
# \n 代表回车键
print ("Hello World!! \n你好\n世界!!!")

print("""
hello World!
你好,世界!!
""")

1673265823181.png

# \叫做转义字符
print (""")

print打印结果:"

3. python基本数据类型

# python中的数据类型  
# 整数数据类型  1、2、3、4
# 字符串:是使用一堆儿单引号或双引号包裹起来的字符
# 浮点数 1.23
# 布尔类型 True False

4. python中的算法运算

# 算法运算
first_number = 1
second_number = 2
print(first_number + second_number)
print(first_number - second_number)
print(first_number * second_number)
print(first_number / second_number)

print打印结果:3、-1、2、0

s1 = "hello"
s2 = "world"
print(s1 + s2)
# 字符串与字符串之间不可以相减,相乘,相除
print(s1 - s2)
print(s1 * s2)
print(s1 / s2)

print打印结果:字符串与字符串之间不可以相减,相乘,相除

f1 = True
f2 = False
print(f1 + f2)
print(f1 - f2)
print(f1 * f2)
print(f1 / f2)

print打印结果:不能除

5.数据类型转换

i = 1
print(type(i))
j = 1.2
print(type(j))
x = "aa"
print(type(x))
y = True
print(type(y))

print打印结果:
<type 'int'>
<type 'float'>
<type 'str'>
<type 'bool'>

# 整数类型可以转换其他的数据类型吗
# 整数类型转换浮点数
ii = float(i)
print(ii)
print(type(ii))



# 整数类型转换布尔值
# 1可以转换True、 0可以转换False
bi = bool(i)
print(bi)
print(type(bi))

print打印结果:
0.0、
<type 'float'>、
0、
<type 'str'>、
False、
<type 'bool'>、

 浮点数转换其他三种
# 转整数   小数点后边的就都不要了

ij = int(j)
print(ij)
print(type(ij))

sj = int(j)
print(sj)
print(type(sj))
# 非0的数字类型,转换成布尔值的时候就会变成True
bj = bool(j)
print(bj)
print(type(bj))

1、
<type 'int'>、
1、
<type 'int'>、
1、
<type 'int'>、

# 字符串转换其他数据类型
# 字符串如果想要转换成整型,那么它必须看起来就像是一个数字才可以

# ix =int(x)
# print(ix)
# print(type(ix))

fx =float(x)
print(fx)
print(type(fx))

# 字符串转换布尔值时,控制为false,有值得时候为true
bx = bool(x)
print(bx)
print(type(bx))

iy = int(y)
print(iy)
print(type(iy))

0.0
<type 'float'>
0
<type 'str'>
ValueError: could not convert string to float: aa
False
<type 'bool'>
1
<type 'int'>
1
<type 'int'>
False
<type 'bool'>

Process finished with exit code 1

6 条件语句

在进行逻辑判断时,我们需要用到条件语句,Python 提供了 ifelifelse 来进行逻辑判断。格式如下所示:

if 判断条件1:    
    执行语句1...
elif
    判断条件2:    
    执行语句2...
elif 
    判断条件3:    
    执行语句3...
else:    
    执行语句4...

7 循环语句

当需要多次重复执行时,我们要用到循环语句,Python 提供了 for 循环和 while 循环。

7.1 for 循环

for 循环可以遍历任何序列,比如:字符串。如下所示:

str = 'Python'
for s in str:    
print(s)

输出结果:

Python

7.2 while 循环

while 循环,满足条件时进行循环,不满足条件时退出循环。如下所示:

sum = 0
m = 10
while m > 0:    
    sum = sum + m    
    m = m - 1
print(sum)

输出结果:

55

7.3 break

break 用在 for 循环和 while 循环语句中,用来终止整个循环。如下所示:

str = 'Python'
for s in str:    
if s == 'o':        
break    
print(s)

输出结果:

Pyth

7.4 continue

continue 用在 for 循环和 while 循环语句中,用来终止本次循环。如下所示:

str = 'Python'
for s in str:    
    if s == 'o':        
    continue    
print(s)

输出结果:

Pythn

8. pass 语句

pass 是空语句,它不做任何事情,一般用做占位语句,作用是保持程序结构的完整性。如下所示:

if True:    pass

9 字符串基本使用

9.1 访问

访问单个字符

s = 'Python'
# 访问第一个字符  P
print(s[0])

访问范围内字符

s = 'Python'
# 访问 yt
print(s[1:3])
# 访问 Pyt
print(s[:3])
# 访问 hon
print(s[3:])

9.2 单个字符编码

Python 使用了 ord() 函数返回单个字符的编码,chr() 函数把编码转成相应字符。如下所示:

s = 'A'
print(ord(s))
print(chr(65))

输出结果:

65A

9.3 转义符

之前我们说过可以通过反斜杠  将一行语句分多行显示,其实就是  来转义字符,一些常见的转义字符如下表所示:

转义字符 描述
`` 在行尾使用时,用作续行符
\b 退格(Backspace)
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车

9.4 运算符

之前我们已经介绍了大部分运算符,下面再来详细看一下字符串运算符。如下表所示:

运算符 描述
+ 连接符
* 重复输出
[] 通过索引获取字符串中字符
[ : ] 获取字符串中的一部分
in 字符串中是否包含指定字符
not in 字符串中是否不包含指定字符
r/R 字符串原样输出

使用示例如下所示:

s1 = 'Hello'
s2 = 'Python'
print('s1 + s2 -->', s1 + s2)
print('s1 * 2 -->', s1 * 2)
print('s1[0] -->', s1[0])
print('s1[0:2] -->',s1[0:2])
print('"H" in s1 -->','H' in s1)
print('"H" not in s1 -->','H' not in s1)
print('\r -->', R'\r')

输出结果:

s1 + s2 --> HelloPythons
1 * 2 --> HelloHellos
1[0] --> H
s1[0:2] --> He
"H" in s1 --> True
"H" not in s1 --> False
\r --> \r

9.5 格式化

当我们需要输出的内容中含有变量时,比如:Hello xxxxxx 为变量,此时便需要一种格式化字符串的方式,Python 使用 % 格式化字符串,常用占位符如下表所示:

占位符 描述
%s 格式化字符串
%d 格式化整数
%f 格式化浮点数

以字符串为例,如下所示:

print('Hello %s' % 'Python')

输出结果:

Hello Python

我们也可以使用字符串的 format() 方法进行格式化,先看下示例:

print('{0} {1}'.format('Hello', 'Python'))

这种方式是用传入的参数依次替换字符串内的占位符{0}、{1} ...

10 序列基本使用

10.1 索引

序列索引支持非负数和负数,索引为非负数,从 0 开始,如下所示:

图片

索引为负数由右向左计数,从 -1 开始,如图所示:

图片

下面通过一个示例作进一步了解,以字符串为例,如下所示:

str = 'Python'
print('str[0] str[-6] =', str[0], str[-6])
print('str[5] str[-1] =', str[5], str[-1])

输出结果:

str[0] str[-6] = P P
str[5] str[-1] = n n

从结果来看,我们使用非负数索引与负数索引得到的结果一致。

10.2 切片

切片操作可以访问一定范围内的元素,语法如下所示:

sname[start : end : step]

  • sname:表示序列的名称;
  • start:开始索引位置(包括该位置),默认为 0;
  • end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;
  • step:步长。

以字符串为例,如下所示:

str = 'Python'
print(str[:3])
print(str[3:])
print(str[:])

输出结果:

Python
Python

10.3 相加

Python 支持类型相同的序列使用 + 作相加操作,该操作不会去除重复的元素。以字符串为例,如下所示:

str1 = 'Python'
str2 = 'Python'
print('str1 + str2 --> ',str1 + str2)

输出结果:

str1 + str2 -->  PythonPython

2.4 相乘

Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。以字符串为例,如下所示:

str = 'Python'
print('2 * str --> ',2 * str)

输出结果:

2 * str -->  PythonPython

10.5 元素是否在序列中

Python 使用 in 关键字检查某元素是否为序列的成员,语法如下:

val in seq

  • val:要检查的元素;
  • seq:指定的序列。

通过一个例子作进一步了解,以字符串为例,如下所示:

str = 'Python'
print('on'in str)

输出结果:

True

10.6 内置函数

函数 描述
len() 计算序列的长度
max() 找出序列中的最大元素
min() 找出序列中的最小元素
list() 将序列转换为列表
str() 将序列转换为字符串
sum() 计算元素的和
sorted() 对元素进行排序
enumerate() 将序列组合为一个索引序列,多用在 for 循环中

简单举几个例子,如下所示:

str = 'dbcae'
print('len -->', len(str))
print('max -->', max(str))
print('sorted -->', sorted(str))

输出结果:

len --> 5
max --> e
sorted --> ['a', 'b', 'c', 'd', 'e']

11. 列表基本使用

➢ 创建

列表中所有元素都放在一个中括号 [] 中,相邻元素之间用逗号 , 分隔,如下所示:

l = [1024, 0.5, 'Python']

➢ 访问

通过索引访问列表中的值,还可以使用 : 截取范围内的元素,如下所示:

l = [1024, 0.5, 'Python']
print('l[0] -->', l[0])
print('l[1:] -->', l[1:])

输出结果:

l[0] --> 1024
l[1:] --> [0.5, 'Python']

➢ 更新

除了对列表中现有元素进行修改外,还可以使用 append() 向列表中添加新元素,如下所示:

l = [1024, 0.5, 'Python']
# 修改列表中第二个元素
l[1] = 5
# 向列表中添加新元素
l.append('Hello')
print('l[1] -->', l[1])
print('l -->', l)

输出结果:

l[1] --> 5
l --> [1024, 5, 'Python', 'Hello']

➢ 删除

使用 del 删除列表中元素,如下所示:

l = [1024, 0.5, 'Python']
# 删除列表中第二个元素del l[1]
print('l -->', l)

输出结果:

l --> [1024, 'Python']

➢ 常用方法

① count()

统计列表中某个元素出现的次数,使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
print("l.count('d') -->", l.count('d'))

输出结果:

l.count('d') --> 2

② index()

查找某个元素在列表中首次出现的位置(即索引),使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
print("l.index('d') -->", l.index('d'))

输出结果:

l.index('d') --> 0

③ remove()

移除列表中某个值的首次匹配项,使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
l.remove('d')
print("l -->", l)

输出结果:

l --> ['b', 'a', 'f', 'd']

④ sort()

对列表中元素进行排序,使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
l.sort()
print('l -->', l)

输出结果:

l --> ['a', 'b', 'd', 'd', 'f']

⑤ copy()

复制列表,使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
lc = l.copy()
print('lc -->', lc)

输出结果:

lc --> ['d', 'b', 'a', 'f', 'd']

12. 元组基本使用

12.1 简介

元组(tuple)与列表类似,但元组是不可变的,可简单将其看作是不可变的列表,元组常用于保存不可修改的内容。

12.2 基本使用

➢ 创建

元组中所有元素都放在一个小括号 () 中,相邻元素之间用逗号 , 分隔,如下所示:

t = (1024, 0.5, 'Python')

➢ 访问

与访问列表中元素类似,如下所示:

t = (1024, 0.5, 'Python')
print('t[0] -->', t[0])
print('t[1:] -->', t[1:])

输出结果:

t[0] --> 1024
t[1:] --> (0.5, 'Python')

➢ 修改

元组中元素不能被修改,我们要用重新赋值的方式操作,如下所示:

t = (1024, 0.5, 'Python')
t = (1024, 0.5, 'Python', 'Hello')
print('t -->', t)

输出结果:

t --> (1024, 0.5, 'Python', 'Hello')

➢ 删除

元组中的元素不能被删除,我们只能删除整个元组,如下所示:

t = (1024, 0.5, 'Python')
del t
print('t -->', t)

输出结果:

NameError: name 't' is not defined

由于元组实例被删除,所以输出了异常信息。

➢ 常用方法

① len()

计算元组中元素个数,使用如下所示:

t = (1024, 0.5, 'Python')
print('len(t) -->', len(t))

输出结果:

len(t) --> 3

② max()  和 min()

返回元组中元素最大、最小值,使用如下所示:

t = ('d', 'b', 'a', 'f', 'd')
print('max(t) -->', max(t))
print('min(t) -->', min(t))

输出结果:

max(t) --> f
min(t) --> a

③ tuple()

将列表转换为元组,使用如下所示:

l = ['d', 'b', 'a', 'f', 'd']
t = tuple(l)
print('t -->', t)

输出结果:

t --> ('d', 'b', 'a', 'f', 'd')

13 字典

字典的内容在花括号 {} 内,键-值(key-value)之间用冒号 : 分隔,键值对之间用逗号 , 分隔,比如创建字典 d,如下所示:

d = {'name':'小明', 'age':'18'}

# 使用 dict 函数
# 方式一
l = [('name', '小明'), ('age', 18)]
d = dict(l)
# 方式二
d = dict(name='小明', age='18')

# 空字典
d = dict()
d = {}

字典中的值通过 key 进行访问,如下所示:

>>> d = dict(name='小明', age='18')
>>> d['name']
'小明'

# 使用 get 方法
>>> d.get('name')
'小明'

修改操作,以修改 age 为例,如下所示:

>>> d = dict(name='小明', age='18')
>>> d['age'] = '20'
>>> d['age']
'20'

清空集合,如下所示:

>>> d = dict(name='小明', age='18')
>>> d.clear()
>>> d{}

获取字典的长度,如下所示:

>>> d = dict(name='小明', age='18')
>>> len(d)
2

14 集合

集合(set)与字典相同均存储 key,但也只存储 key,因 key 不可重复,所以 set 的中的值不可重复,也是无序的。

集合使用花括号 {} 或者 set() 函数创建,如果创建空集合只能使用 set() 函数,以创建集合 s 为例,如下所示:

s = {'a', 'b', 'c'}
# 使用 set 函数
s = set(['a', 'b', 'c'])
# 空集合
s = set()

集合中重复的元素会被自动过滤掉,如下所示:

>>> s = {'a', 'a', 'b', 'c', 'c'}
>>> s
{'a', 'c', 'b'}

添加元素可以使用 add 或 update 方法,如果元素已经存在,则不进行操作,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.add('d')
>>> s
{'a', 'd', 'c', 'b'}
>>> s.update('e')
>>> s
{'a', 'b', 'e', 'd', 'c'}
# 添加已经存在的元素 a
>>> s.add('a')
>>> s
{'a', 'b', 'e', 'd', 'c'}

删除元素使用 remove 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.remove('c')
>>> s
{'a', 'b'}

清空集合使用 clear 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.clear()
>>> s
set()

获取集合的长度,同样使用 len 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> len(s)3
posted @ 2023-03-21 09:44  孙凯玉  阅读(59)  评论(0编辑  收藏  举报