一、Python 变量
在Python中,变量用于保存数据,方便程序对数据的处理和操作。下面是关于Python变量的一些重要概念:
变量命名规则:
- 变量名由字母、数字和下划线组成。
- 变量名可以以字母或下划线开头,但不能以数字开头。
- 变量名区分大小写,例如"age"和"Age"是不同的变量。
- 变量名应具有描述性,有助于代码的可读性。
变量的赋值: 在Python中,变量的赋值通过使用等号(=)进行。
name = "Alice"
age = 25
变量类型推导: Python是一种动态类型语言,不需要在变量声明时指定变量类型。变量的类型会根据赋给它的值自动推导出来。
name = "Alice" # 字符串类型
age = 25 # 整数类型
salary = 1000.50 # 浮点数类型
is_student = True # 布尔类型
变量的重新赋值: 在Python中,变量的值可以被重新赋值。当为变量赋予新值时,它会丢失之前的值,并被新值替代。
name = "Alice"
name = "Bob" # 变量"n"的值从"Alice"被重新赋值为"Bob"
变量的多重赋值: Python允许使用多重赋值的方式同时给多个变量赋值。
x = y = z = 0 # 将变量"x"、"y"和"z"同时赋值为0
a, b, c = 1, 2, 3 # 将变量"a"、"b"、"c"分别赋值为1、2、3
变量的删除: 在Python中,可以使用del
关键字来删除一个变量。
x = 10
del x # 删除变量"x"
Python中的变量是动态的,可以根据需要赋予不同的值。变量的使用使得程序更具灵活性和可扩展性。
二、Python 数据类型
Python 标准数据类型:
Python3 中有六个标准的数据类型:
1. Number(数字)
2. String(字符串)
3. List(列表)
4. Tuple(元组)
5. Set(集合)
6. Dictionary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
这里我就简单介绍前面两个:
1. Number(数字):
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
a, b, c, d = 10, 3.1415926, False, 20+3j
...print(type(a),type(b),type(c),type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
2. String(字符串):
电子计算机或无线电通信中字母、数字和各种符号的统称。由数字、字母、下划线组成的一串字符。
python中字符串的定义:
在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号,如:
name = '大海'
name1 = "大海1"
info = '''在苍茫的大海上
狂风.....
'''
字符串格式化输出:
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式,比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age is xxx.这就用到了占位符,如:%s、%d。%s %s占位符:
# %s 占位符 可以接受字符和数字 全能
name = input('输入名字')
# 一个值的话直接放到%后面
print('My name is %s'%name)
%d占位符:
# %d只能接受数字 有局限性
# 这样只能输入数字了
age = input('输入年龄')
age = int(age)
print(type(age))
print('my age is %s'%age)
多个占位符的使用:
name = input('输入名字')
age = input('输入年龄')
# 多个值的话直接放到%后面要有括号
print('My name is %s,my age is %s'%(name,age))
# 错误演示 输入的是一个字符串 %d无法接收
# print('My name is %d,my age is %d'%(name,age))
简写:
name = input('输入名字')
age = input('输入年龄')
# f'其他字符{变量名}'
print(f'my name is {name},my age is {age}')
3. List(列表):
List(列表) 是 Python 中使用最频繁的数据类型。
Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
在[]内用逗号分隔开多个任意类型的值:
L = ['dahai',1,1.2,[1.22,'小海']]
# 0 1 2 3
# 0 1
print(L)
print(type(L))
列表取值:
# # 索引从0开始 相当于我们书的页码
print(L[0])
print(L[1])
print(L[0][0])
# 反向取
print(L[-1])
print(L[-1][1])
print(L[-1][1][0])
dahai=L[0]
print(dahai)
列表内元素修改:
L[0]= '红海'
print(L)
print(L[0])
honghai=L[0]
print(honghai)
4. Dict(字典):
记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能。
在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
info = {'name':'大海','age':18}
简单使用:
# 简单使用
# 通过key进行取值
print(info['name'])
print(info['age'])
列表和字典区别:
# 列表是依靠索引
# 字典是依靠键值对 # key描述性的信息
5. Tuple(元组):
记录多个值,当多个值没有改的需求,此时用元组更合适。
在()内用逗号分隔开多个任意类型的值:
t = (1,2,'大海',(2,3),['红海',2,3])
# 0 1 2 3 4
# 0 1 2
print(t)
print(type(t))
元组取值方式和列表一样:
# 简单使用
print(t[0])
前面已经说过,三个不可变的数据,字符串,数字和元组,所以元组里元素是不可改变的,但是元组里的列表是可以改变的。
# 元组里的元素不可改
# t[0]= 5
# t[4] = 2
# 修改元组里的列表
print(t[4])
t[4][0]='黄海'
print(t)
6. Set(集合):
集合的作用是关系运算,定义是在{}内用逗号分开个的多个值。需要注意:
1.元素不能重复(定义不能这样写相同的)
2.集合里面的元素是无序
如:
s = {1,2,3}
print(s)
print(type(s))
基本使用:
s1 = {'a','b','c'}
s2 = {'b','c','d'}
# # 拿2个集合相同的元素 shift + 7交集符号 交集
print(s1 & s2)
# 拿2个集合所有的元素 并集
print(s1 | s2)
# s1 去 抵消它们的交集 差集
print(s1 - s2)
# s2 去 抵消它们的交集 差集
print(s2 - s1)
Python六中标准数据类型已经介绍完了。实际使用中,数据之前存在转换,那么有哪些转换方式呢?
三、Python 数据类型的转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。
Python 数据类型转换可以分为两种:
1. 隐式类型转换 - 自动完成
2. 显式类型转换 - 需要使用类型函数来转换
隐式类型转换:
在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。以下实例中,我们对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。
num_int = 100
num_flo = 0.345
num_new = num_int + num_flo
print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))
print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))
运行结果:
datatype of num_int: <class 'int'>
datatype of num_flo: <class 'float'>
Value of num_new: 100.345
datatype of num_new: <class 'float'>
显式类型转换:
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。
示例代码:
# int() 强制转换为整型:
x = int(1) # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
# float() 强制转换为浮点型:
x = float(1) # x 输出结果为 1.0
y = float(2.8) # y 输出结果为 2.8
# str() 强制转换为字符串类型:
x = str("s1") # x 输出结果为 's1'
y = str(2) # y 输出结果为 '2'
# 整型和字符串类型进行运算,就可以用强制类型转换来完成:
num_int = 123
num_str = "456"
print("num_int 数据类型为:",type(num_int))
print("类型转换前,num_str 数据类型为:",type(num_str))
num_str = int(num_str) # 强制转换为整型
print("类型转换后,num_str 数据类型为:",type(num_str))
num_sum = num_int + num_str
print("num_int 与 num_str 相加结果为:",num_sum)
print("sum 数据类型为:",type(num_sum))
运行结果:
num_int 数据类型为: <class 'int'>
类型转换前,num_str 数据类型为: <class 'str'>
类型转换后,num_str 数据类型为: <class 'int'>
num_int 与 num_str 相加结果为: 579
sum 数据类型为: <class 'int'>
四、Python 字符串格式化输出
除了前面介绍的占位符,字符串格式化输出也可以使用format函数
"name is:{},age is :{}".format(name,age)