一、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)
09-01 15:04