跳至主要內容

Python 基础语法

钝悟...大约 5 分钟PythonPython

Python 变量和数据类型

变量

变量简介

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python 基本赋值

a = 1
b = 2.0
c = "test"
print(f'a={a}')
print(f'b={b}')
print(f'c={c}')
# 输出
# a=1
# b=2.0
# c=test

Python 允许多个变量同时赋值

a = b = c = 1
print(f'a={a}')
print(f'b={b}')
print(f'c={c}')
# 输出
# a=1
# b=1
# c=1

Python 允许为多个变量同时赋不同的值

a, b, c = 1, 2.0, "test"
print(f'a={a}')
print(f'b={b}')
print(f'c={c}')
# 输出
# a=1
# b=2.0
# c=test

变量命名规则

  • 第一个字符必须是字母表中字母或下划线 _
  • 标识符的其他的部分由字母、数字和下划线组成。
  • 标识符对大小写敏感。

在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。

数据类型

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

Python3 中有六个标准的数据类型:

  • **不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组);
  • **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。

Python 内置的 type() 函数可以用来查询变量所指的对象类型

a, b, c, d = 1, 2.0, True, 3.14j
print(f'a={type(a)}')
print(f'b={type(b)}')
print(f'c={type(c)}')
print(f'd={type(d)}')
# 输出
# a=<class 'int'>
# b=<class 'float'>
# c=<class 'bool'>
# d=<class 'complex'>

Number

在 Python 中,Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数。

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

字符串

字符串是 Python 中最常用的数据类型。可以使用引号 ( '" ) 来创建字符串。

Python 中单引号 ' 和双引号 " 使用完全相同。

使用三引号('''""")可以指定一个多行字符串。

转义符 \

反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n"\n 会显示,并不是换行。

按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string

字符串可以用 + 运算符连接在一起,用 ***** 运算符重复。

Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

Python 中的字符串不能改变。

Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。

字符串切片 str[start:end],其中 start 是切片开始的索引,end 是切片结束的索引(但不包括该索引指向的字符)。

字符串的切片可以加上步长参数 step,语法格式如下:str[start:end:step]

字符串的截取的语法格式如下:变量[头下标:尾下标:步长]

str='123456789'
 
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第六个的字符(不包含)
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')         # 连接字符串
 
print('------------------------------')
 
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

列表

序列是 Python 中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是 0,第二个索引是 1,依此类推。

Python 有 6 个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

元祖

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }

数据类型转换

Python 数据类型转换可以分为两种:

  • 隐式类型转换
  • 显式类型转换

隐式类型转换示例

num_int = 1
num_float = 2.0
num_new = num_int + num_float
print("num_int 数据类型为:", type(num_int))
print("num_float 数据类型为:", type(num_float))
print("num_new 值为:", num_new)
print("num_new 数据类型为:", type(num_new))
# 输出
# num_int 数据类型为: <class 'int'>
# num_float 数据类型为: <class 'float'>
# num_new 值为: 3.0
# num_new 数据类型为: <class 'float'>

显示类型转换方法:

  • int() - 将指定的数值或字符串转换成整数,可以指定进制。
  • float() - 将指定的字符串转换成浮点数。
  • str() - 将指定的对象转换成字符串,可以指定编码。
  • chr() - 将指定的整数转换成该编码对应的字符。
  • ord() - 将指定的字符转换成对应的编码(整数)。
a = int("100")
b = float(2)
c = str(3.0)
print(f'a={a}, type={type(a)}')
print(f'b={b}, type={type(b)}')
print(f'c={c}, type={type(c)}')
# 输出
# a=100, type=<class 'int'>
# b=2.0, type=<class 'float'>
# c=3.0, type=<class 'str'>

参考资料

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7