1.1.1 数据类型与变量(Django 基础学习细节)
Python 作为 Django 的基础,理解其数据类型和变量的使用至关重要。下面将详细讲解常见数据类型、变量声明、类型转换以及字符串格式化方法。
一、基础数据类型
1. int(整数)
-
表示整数类型,如
1
、-10
、0
-
支持任意精度计算
-
示例:
pythona = 10 b = -3 print(type(a)) # <class 'int'>
2. float(浮点数)
-
表示带小数点的数,如
3.14
、-0.001
-
注意浮点精度问题
-
示例:
pythonpi = 3.14159 print(type(pi)) # <class 'float'>
3. str(字符串)
-
一串字符,单引号或双引号包裹,如
'hello'
、"world"
-
支持多行字符串(用三引号)
-
示例:
pythonname = "Django" desc = '''This is a multi-line string.''' print(type(name)) # <class 'str'>
4. bool(布尔型)
-
只有两个值:
True
或False
-
常用于条件判断
-
示例:
pythonis_valid = True print(type(is_valid)) # <class 'bool'>
二、复合数据类型
1. list(列表)
-
有序、可变、用方括号
[]
表示 -
元素可以是任意类型,支持嵌套
-
支持切片、增删改查
-
示例:
pythonnums = [1, 2, 3, 4] nums.append(5) nums[0] = 99 print(nums[1:3]) # [2, 3]
2. tuple(元组)
-
有序、不可变、用小括号
()
表示 -
适合存储不希望被修改的数据
-
示例:
pythont = (10, 20, 30) print(t[1]) # 20 # t[0] = 100 # 会报错
3. set(集合)
-
无序、不重复元素、用花括号
{}
或 set() 创建 -
支持集合运算(交、并、差等)
-
示例:
pythons = {1, 2, 3} s.add(2) s.add(4) print(s) # {1, 2, 3, 4}
4. dict(字典)
-
键值对集合、用花括号
{}
表示 -
键唯一、值任意、查找速度快
-
示例:
pythonuser = {"name": "Alice", "age": 23} user["email"] = "alice@example.com" print(user["name"]) # Alice
三、类型转换
int(x)
:转为整数float(x)
:转为浮点数str(x)
:转为字符串bool(x)
:转为布尔值list(x)
:转为列表(如字符串转字符列表、元组转列表)tuple(x)
:转为元组set(x)
:转为集合dict()
:构造字典(通常配合 [(key, value), ...])
示例:
python
a = "123"
b = int(a) # 123
c = float(a) # 123.0
d = str(456) # "456"
e = bool(0) # False
f = list("abc") # ['a', 'b', 'c']
g = tuple([1,2]) # (1, 2)
h = set([1,2,2]) # {1, 2}
四、字符串格式化
1. 百分号 %
格式化(经典写法)
python
name = "Tom"
age = 18
print("My name is %s, age is %d" % (name, age))
2. format() 方法(推荐)
python
print("My name is {}, age is {}".format(name, age))
print("My name is {0}, age is {1}".format(name, age))
print("My name is {name}, age is {age}".format(name="Tom", age=18))
3. f-string(Python 3.6+,最推荐)
python
print(f"My name is {name}, age is {age}")
f-string 支持表达式:
python
print(f"2 + 3 = {2 + 3}")
五、变量声明与命名规范
- 变量无需声明类型,直接赋值即可
- 命名建议使用小写字母+下划线(PEP8风格),如
user_name
- 变量名区分大小写
六、实用小结
- 充分理解基本类型和数据结构,是后续 Django ORM、视图、模板等用法的基础
- 字典和列表在 Django 模型、序列化、API数据处理中极为常见
- 熟练掌握字符串格式化,有助于模板渲染和日志输出