一、Python 变量的定义
(一)定义方式
在 Python 中,变量的定义是通过赋值来实现的,其语法格式非常简洁直观,基本形式为 “变量名 = 值”。等号左边是你自定义的变量名,右边则是要赋给该变量的值。Python 是一种动态类型语言,这意味着在定义变量时不需要事先声明其类型,变量的类型会根据所赋的值自动确定,并且在后续的程序运行过程中,变量的类型和值都可以随时改变。
以下是定义不同类型数据变量的示例代码:
定义整型变量:
age = 25
在上述代码中,我们定义了一个名为age的变量,并将整数值25赋给它,此时 Python 自动识别age变量的类型为整型(int)。
定义字符串型变量
name = "Alice"
这里定义了name变量,把字符串"Alice"赋给它,该变量就属于字符串类型(str)。
定义浮点型变量
height = 1.75
通过赋值语句,将浮点数值1.75赋给height变量,使其成为浮点型(float)变量。
定义列表变量
fruits = ["apple", "banana", "cherry"]
创建了一个名为fruits的变量,它存储了一个包含多个字符串元素的列表,Python 认定fruits是列表类型(list)的变量。
定义字典变量
person = {"name": "Bob", "age": 30, "city": "New York"}
此代码定义了person变量,并赋予它一个字典值,字典中包含了键值对,用于表示不同属性及其对应的值,这样person变量就是字典类型(dict)的变量了。
二、Python 变量的命名规则
(一)基本构成规则
在 Python 中,变量名的基本构成有着明确的规则要求。变量名只能包含字母、数字和下划线(_),这意味着不能在变量名中使用其他特殊字符,像 @、#、$、% 等都是不被允许的。例如,“my_var” 和 “count2” 就是有效的变量名,而 “my-var” 和 “num@” 则不符合规则。
同时,变量名必须以字母或下划线开头,绝不能以数字开头。比如,“name” 和 “_age” 是有效的变量名,但 “1st_name” 就属于无效的变量名了。以下通过一些具体的代码示例来进一步理解:
# 正确示例 student_name = "Tom" _grade = 85 # 错误示例,以下代码会报错 # 1_number = 10 # 变量名以数字开头,不符合规则 # my$var = "Invalid" # 包含了不允许的特殊字符$ |
(二)大小写敏感规则
Python 变量名是区分大小写的,这一点在编写代码时需要格外留意。例如,“myVariable” 和 “MyVariable” 在 Python 看来是完全不同的两个变量。我们来看下面这段代码:
在上述代码中,定义了两个看似相似,但由于大小写不同的变量 “my_variable” 和 “My_variable”,它们分别被赋予了不同的值,在输出时也会打印出各自对应的值,并不会因为名称相似而产生混淆或者冲突。所以在实际编程过程中,要始终牢记变量名的大小写区别,避免因不小心写错大小写而导致程序出现难以察觉的逻辑错误。
(三)关键字与函数名禁用规则
Python 中有一些特定的关键字,它们被保留用于特殊用途,比如表示条件判断的 “if”、“else”、“elif”,用于循环的 “for”、“while”,还有定义函数的 “def” 等等,这些关键字是不能用作变量名的,否则会引发命名冲突,导致程序出错。
三、Python 中的数据类型概述
(一)数字类型
Python 中的数字类型包含整型(int)、长整型(long,在 Python3 中已不存在长整型,统一为整型)、浮点型(float)、复数型(complex)。
整型(int):表示整数类型,可以表示正整数、负整数和零。
浮点型(float):表示实数类型,也就是可以表示十进制小数,包括正数、负数和零,例如3.14、-0.5、0.0等。。
复数型(complex):表示复数类型,由实数和虚数构成,其形式通常为a + bj,其中a是实部,b是虚部,例如3 + 4j、2.1 - 3.2j等。
(二)字符串类型(str)
在 Python 中,字符串是一种不可变的序列类型,用单引号、双引号或者三引号括起来的字符序列都是字符串,例如'Hello, world!'、"Python编程"、'''这是一段
多行的字符串'''等都是合法的字符串表示方式。
字符串表示方式:
text = """这是一段很长的文字描述,
它可以跨越多行,
并且保留原有的格式排版。"""
字符串常用操作:
拼接:可以使用+运算符来将两个字符串拼接起来,例如"Hello, " + "Python"会得到"Hello, Python"。
索引:字符串中的字符是有顺序的,从左到右,索引从 0 开始递增,可以使用[]运算符来获取字符串中指定位置的字符,比如对于字符串"Python","Python"[0]就会得到'P',"Python"[2]会得到't'等。
切片:通过[头下标:尾下标]的方式可以截取字符串中的一部分内容,遵循闭头开尾原则,也就是包含头下标对应的字符,但不包含尾下标对应的字符。例如"Python"[1:4]会得到'yth',如果省略头下标,如"Python"[:3]则表示从开头截取到索引为 2 的字符,得到'Pyt';省略尾下标,像"Python"[2:]则是从索引为 2 的字符开始截取到末尾,得到'thon'。
格式化:在实际编程中,经常会遇到将其他类型变量与字符串拼接到一起并进行格式化输出的情况。常见的字符串格式化方法有几种:
采用占位符:常用的占位符有%s(字符串格式)、%d(十进制格式)、%f(浮点数格式)等。例如:
name = '张三'
age = 18
print('%s 年龄是 %s' % (name, age))
会输出张三 年龄是 18。并且对于%f还可以指定保留的小数位数,如%.2f表示保留 2 位小数。
采用formatted字符串:这是带有f字符前缀的字符串,可以很方便地格式化字符串,在字符串中直接用花括号{}包裹变量名或者表达式即可,例如:
name = '李四'
age = 20
score = 90.5
print(f'{name} 的年龄是 {age},成绩是 {score:.2f}')
这里不仅可以嵌入变量,还能在花括号内对变量进行一些简单的表达式运算或者格式控制,像控制数字的显示格式、对齐方式等。
采用format字符串:字符串中可以有占位符({}表示的内容),配合format()方法的使用,会将format()方法中的参数替换为占位符内容。占位符可以用参数索引表示,即 0 代表第 1 个参数,以此类推,也可以用参数的名字表示占位符。例如:
name = '王五'
age = 22
s = '{0} 今年 {1} 岁'.format(name, age)
print(s)
或者:
s = '{name} 芳龄为 {age} 岁'.format(name=name, age=age)
print(s)
在占位符中还可以有格式化控制符,对字符串的格式进行更加精准控制,比如指定对齐方式(<左对齐、>右对齐、^居中对齐)、填充字符、数字的进制显示、千位分隔符等多种格式化操作。
(三)列表类型(list)
列表是 Python 中一种可变的数据类型,用于保存一组有序的数据,可以包含各种数据类型的元素,使用中括号[]来定义,列表中的元素之间用逗号隔开,例如[1, 2.0, "hello", [3, 4, 5]]就是一个包含了整型、浮点型、字符串以及嵌套列表等多种元素的列表。
列表的创建与访问:
可以创建空列表,如empty_list = []或者empty_list = list(),后续再通过各种操作向里面添加元素。
列表的常用操作:
增加元素:可以使用append()方法向列表末尾添加元素,例如my_list.append(40)就会把40添加到my_list的末尾;
insert()方法则可以在指定位置插入元素,如my_list.insert(1, 15)会在索引为 1 的位置插入15这个元素。另外,
extend()方法可用于将一个可迭代对象(比如另一个列表)的元素逐个添加到当前列表中,像my_list.extend([50, 60])会把[50, 60]中的元素依次添加到my_list后面。
删除元素:pop()方法用于删除并返回指定索引位置的元素,如果不指定索引,默认删除并返回最后一个元素,例如my_list.pop()会删除my_list的最后一个元素,my_list.pop(1)则删除索引为 1 的元素;
remove()方法用于删除列表中第一次出现的指定值的元素,比如my_list.remove(20)会把列表中第一个值为20的元素删除;clear()方法可以清空整个列表,使列表变为空列表。
修改元素:直接通过索引赋值就可以修改列表中的元素,例如my_list[0] = 5就把my_list中的第一个元素修改为5了。
排序与反转:sort()方法可以对列表中的元素进行排序(要求列表元素类型相同,否则会报错),
其他操作:还可以使用count()方法统计某个元素在列表中出现的次数,
index()方法返回指定元素在列表中第一次出现的索引位置(如果不存在会报错)等。
(四)字典类型(dict)
字典是 Python 中一种无序的、可变的映射类型,用大括号{}表示,是由键(key)和值(value)组成的一组映射关系,其中键必须是唯一的。
字典的基本操作:
访问元素:通过键来访问其对应的值,比如print(person['name'])就会输出张三。
添加和修改元素:直接给字典中不存在的键赋值,就可以添加新的键值对,例如person['phone'] = '123456789'。
删除元素:可以使用del语句删除指定键值对,如del person['gender']就会把person字典中'gender'这个键值对删除掉;也可以使用pop()方法删除并返回指定键对应的元素。
字典的常用方法及遍历:字典有很多内置的方法方便操作,例如keys()方法返回字典中所有的键组成的可迭代对象,values()方法返回所有的值组成的可迭代对象,items()方法返回包含所有键值对的可迭代对象(每个键值对以元组形式表示),可以方便地用于遍历字典:
for key in person.keys():
print(key)
for value in person.values():
print(value)
for key, value in person.items():
print(key, value)
下一张 : 02-2.python入门语法一变量与数据类型2