Python基础(变量及其命名规范)

简介: Python基础(变量及其命名规范)

1 python变量类型及其详解

变量是每一门编程语言必不可少的,相较于C语言或者Java,python的变量定义比较简单,不需要在变量名前面事先声明变量的类型,只需要写出 变量名=变量值 即可,python解释器会自动识别并将变量名设定为该变量类型。

每一门语言中都有不同类型的变量,python也不例外,提供了6种数据类型,分别是数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dictionary),下面来详细的介绍一下:

1.1 数字

它支持4种类型,分别是整数、浮点数、复数、布尔类型

  • 整数的定义非常简单,相当于C语言的int类型,定义方法如下:
a = 10  # 定义了一个整型变量a,其值为10
  • 浮点数也就是小数,但是与C或者Java不一样,python不需要事先说明是长整形还是短整型,定义方法如下
b = 3.1415926
  • 复数用的比较少,它分为实部和虚部,在python中,实部用数字表示,虚部用数字+j来表示,定义方法如下:
c = 3+4j  # 定义了一个复数c,实部为3,虚部为4
  • 布尔类型用来判断真假,只有True、False两个取值,定义方法如下:
d = True  # 定义了一个布尔类型的变量d,取值为“真”

1.2 序列

1.2.1 字符串

字符串在python中是比较方便定义和使用的,它是描述文本的一种数据类型,可以由任意数量的字符组成。其定义和使用需要遵循以下规则:

  • 在python的字符串中,可以使用单引号或双引号来定义。例如:
str1 = 'I am a student.'
str2 = "I am a student too."
  • 如果一个字符串包含一个单引号,应该使用双引号来定义,例如:
str3 = "It's a big city!"
  • 当一个字符串包含双引号时,要使用单引号来定义,例如:
str4 = 'When I was doing homework, "I love you!", she said.'
  • 反斜杠(\)在python字符串中表示“转义字符”,例如:
str5 = 'It\'s a big city!'  # 输出It's a big city!
  • 对于转义字符,也可以通过在第一个引号前添加字母r来使用原始字符串,例如:
str6 = r'D:\nBaiduNetdiskDownload'  # 输出D:\nBaiduNetdiskDownload
  • 多行字符串,也可以作为多行注释,使用三对单引号来创建
'''
这是一个多行字符串
这是一个多行字符串
'''

1.2.2 列表

其实,列表、元组、集合、字典,都是python的数据容器,下面来介绍其中之一——列表(List)

列表相当于C语言中的数组,是基于链表这个数据结构实现的,但是比它的定义要简单,而且python还提供了对列表对象的各种操作方法。python列表规范如下:

  • 列表内的每一个数据,称之为元素
  • 以 [] 作为标识
  • 列表内每一个元素之间用, 逗号隔开
  • 一个列表中,可定义单个、多个或者嵌套类型的数据

创建列表的方法也有很多,例如:

  • 直接在方括号内放入元素定义列表
list1 = [1, 2, 3, 4]
list2 = ['IT', 123, True]
list3 = [[1, 2, 3], [4, 5, 6]]
list4 = []  # 也可直接定义空链表

列表作为容器的一种,当然在应用方面有较多的需要,比如元素的选取方式,决定了代码的书写效率。所以python提供了多种多样的访问方式,后面的元组、集合、字典也不例外。

  • 首先,和C、Java一样,python当然也可以通过下标来访问,在这里就不多说了。其次,列表等容器在for循环中运用的比较广泛,使用方法如下:
list5 = [1, 2, 3, 4, 5, 6]
for num in list5:
  print(num)

1.2.3 元组

与列表不同,元组一经定义不可修改,但元组同列表一样,都是可以封装多个、不同类型的元素在内。所以,当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么元组就非常合适了。

定义元组需用小括号,且使用逗号隔开各个数据,同时,数据可以是不同的数据类型。

  • 创建元组的方式也和列表类似:
t1 = (1, 2, 3, 4)
t2 = ('IT', 123, True)
t3 = ((1, 2, 3), (4, 5, 6))

python也对于元组提供了多个方法来实现相关的操作,比如index()用于查找某个数据,如果数据存在返回对应的下标,否则报错;count()用于统计某个数据在当前元组出现的次数;len()用于统计元组内的元素个数等。

1.2.4 序列的切片操作

首先,什么是序列?

序列是指内容连续、有序,可使用下标索引的一类数据容器

列表、元组、字符串,均可以可以视为序列。

什么是切片呢?

切片是指从一个序列中,取出一个子序列

在python中,切片使用的语法是:序列[起始下标:结束下标:步长],表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列

切片操作需要注意的是:

  1. 起始下标表示从何处开始,可以留空,留空视作从头开始
  2. 结束下标不含)表示何处结束,可以留空,留空视作截取到结尾
  3. 步长表示,依次取元素的间隔

对于步长,有很多的编程技巧:

  • 步长1表示,一个个取元素
  • 步长2表示,每次跳过1个元素取
  • 步长N表示,每次跳过N-1个元素取
  • 步长为负数表示反向取(注意,起始下标和结束下标也要反向标记

序列切片操作的演示(正向操作):

my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4] # 下标1开始,下标4(不含)结束,步长1
print(new_list)   # 结果:[2, 3, 4]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:] # 从头开始,到最后结束,步长1
print(new_tuple)    # 结果:(1, 2, 3, 4, 5)
my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]   # 从头开始,到最后结束,步长2
print(new_list)   # 结果:[1, 3, 5]
my_str = "12345"
new_str = my_str[:4:2]  # 从头开始,到下标4(不含)结束,步长2
print(new_str)    # 结果:"13"

序列切片操作的演示(反向操作):

my_str = "12345"
new_str = my_str[::-1]  # 从头(最后)开始,到尾结束,步长-1(倒序)
print(new_str)    # 结果:"54321"
my_list = [1, 2, 3, 4, 5]
new_list = my_list[3:1:-1]  # 从下标3开始,到下标1(不含)结束,步长-1(倒序)
print(new_list)   # 结果:[4, 3]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:1:-2]   # 从头(最后)开始,到下标1(不含)结束,步长-2(倒序)
print(new_tuple)    # 结果:(5, 3)

1.3 集合

与上面三个类似,集合也是python提供的一个数据容器,但是它有着特殊的功能,就是去重操作。无论是列表、元组还是字符串,都允许相同元素重复出现,但是对于集合,当要插入的元素在里面已经出现时,就不能重复插入了

集合可以使用大括号 { } 或者 set() 函数创建

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  • 去重功能的展示:
s1 = {1, 2, 3, 4, 4, 3, 2, 1}
print(s1)   # {1, 2, 3, 4}
  • 集合存储元素是无序的:
a = set('abcdefg')
b = set('abc')
print(a)  # {'f', 'd', 'e', 'b', 'g', 'c', 'a'}
print(b)  # {'b', 'c', 'a'}
  • 集合之间可以进行一些集合操作,例如交并差补
print(a - b)  # {'d', 'g', 'f', 'e'}  
print(a ^ b)  # {'e', 'f', 'd', 'g'}
print(a & b)  # {'b', 'c', 'a'}
print(a | b)  # {'b', 'e', 'f', 'd', 'g', 'c', 'a'}

1.4 字典

在爬虫操作中,很多相应得到的响应体的部分都由字典组成,所以它在爬虫的开发中尤为重要。同时,它还可以与json对象相互转换,后面的文章会做专门的介绍。

字典与集合一样,都是用{}来表示,但是不同的是字典每个元素有两个值,中间用冒号隔开,前面的叫做key,后面的叫做value。语法如下:

  • 使用{ }存储原始,每一个元素是一个键值对
  • 每一个键值对包含Key和Value(用冒号分隔)
  • 键值对之间使用逗号分隔
  • Key和Value可以是任意类型的数据key不可为字典
  • Key不可重复,重复会对原有数据覆盖

字典的定义可以使用以下形式:

dict = {"nane": "张三", "age": 18, "sex": "男"}
dict1 = {}  # 定义了一个空字典

同时,字典还可以嵌套使用,但key不可以为字典类型,例如:

stuScore = {"张三" : {"语文" : 89, "数学" : 78, "英语" : 77}, "李四" : {"语文" : 69, "数学" : 94, "英语" : 79}}

当需要获取字典中的内容时,可以利用key中的值来取value,例如:

print(stuScore["张三"]) # {'语文': 89, '数学': 78, '英语': 77}

除此之外,还可以对字典进行增删改操作:

dict = {"nane": "张三", "age": 18, "sex": "男"}  # 定义了一个空字典
dict["score"] = 100 # 增加元素
del dict["name"]  # 删除元素
dict["name"]="老六" # 修改元素

对于字典,python提供的操作有:

  • len(字典):用于返回字典中键值对个数
  • 字典.pop(Key):用于取出Key对应的Value并在字典内删除此Key的键值对
  • 字典.clear():清空字典
  • 字典.keys():获取字典的全部Key,可用于for循环遍历字典

其中的keys,values,items方法,可用于字典的遍历

# 1.使用keys
for i in dict.keys():
    print(i)
# 2.使用values
for i in dict.values():
    print(i)
# 3.使用items
for i in dict.items():
    print(i)
# 4.可使用items获取key和value
for key,value in dict.items():
    print(key,value)

1.5 数据容器的比较

列表 元组 字符串 集合 字典
元素类型 任意 任意 仅字符 任意 Key除字典外任意, Value任意
下标索引 支持 支持 支持 不支持 不支持
重复元素 支持 支持 支持 不支持 不支持
可修改性 支持 不支持 不支持 支持 支持
数据有序
使用场景 可修改、可重复的一批数据记录 不可修改、可重复的一批数据记录 一串字符的记录 不可重复的数据记录 以Key检索Value的数据记录

2 python变量命名规范

首先,变量的命名规则与C、Java等语言一样:

  1. 只能由字母、数字、下划线组成
  2. 不能是数字开头,比如1s就是错误的变量名
  3. 不能是python内置关键字,比如forwhile
  4. 严格区分大小写,比如Stustu就不是一个变量

其次,变量的命名习惯一般都用小驼峰命名法,即除了第一个单词首字母小写,其余单词首字母大写,比如pageRank

最后,还要注意的一点是:变量的命名要见文知义,比如说姓名这个变量名就要写成name或者my_name等,如果写成a, b, c这种的就会影响项目的开发。

相关文章
|
7天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
100 68
|
9天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
26 9
|
21天前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`"""` 或 `'''`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
42 2
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
32 4
|
24天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
26 0
|
2月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
23 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
|
2月前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
WK
|
2月前
|
Python
Python变量命名
在Python编程中,变量命名对代码的可读性和维护性至关重要。遵循PEP 8风格指南,变量名应使用小写字母和下划线分隔单词,保持简洁明了、描述性强,避免使用单字母、Python关键字和内置函数名,采用有意义的缩写,使用英文命名,保持命名风格一致,避免魔法数字,考虑上下文。正确示例:`user_name`、`order_quantity`;不正确示例:`n`、`q`。
WK
34 0
|
2月前
|
Python
深入了解Python中星号变量的特殊用法
深入了解Python中星号变量的特殊用法
26 0
|
2月前
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
32 0