• Python03--python中的标识符和变量以及数据类型


    目录

    一,标识符

     二,数据类型

    1,数字类型

     2,字符串类型

     3,列表类型

     4,元组类型

    5,集合类型

    6,字典类型


    一,标识符

    因为我们在编写程序的时候会用到各种各样的数据,如字符串类型,整型,布尔型等。因此计算机语言中都会有标识符的存在,标识符就是用来表示我们的数据的。但是对于标识符来说,不能和我们计算机语言上的关键字重名,不然就会和我们的关键字冲突。所以在命令标识符的时候应尽量避免和关键字重名,我们先看一下python中的关键字(不需要花时间记,以后会用到):

    无论是python,Java,还是c,它们的标识符命名规范都是一样的:

    1. 只能由字母,数字和下划线组成,且不能以数字开头。
    2. 命令时需要能够做到见名知义,例如我们使用标识符age表示年龄。
    3. 变量名,函数名,模块名可以使用全小写的英文字母组成,常量名推荐使用全大写的英文字母,类名首字母推荐大写。如果由多个单词组成,那么我们可以使用下划线连接这些单词。

    1, 标识符不能以数字开头

     2,标识符需要做到见名知义

     3,标识符对应字母组成

    1. if __name__ == '__main__':
    2. age=20 # 变量
    3. NAME="张三" # 常量
    4. age_school=100 # 由多个单词组成的变量名
    5. NAME_SCHOOL="su'ling'shi" # 由多个单词组成的常量名
    6. class ClassDemo:
    7. def __init__(self,name,age):
    8. self.name=name
    9. self.age=age

     二,数据类型

    对于python来说,声明一个数据类型时,不需要在标识符前面加上(显式指定)该数据的类型,因为python是动态语言,可以自动识别我们的数据类型。所以习惯了Java的数据类型命名的会觉得用python来进行数据的声明和使用超级简单和方便,也会爱上这一门语言。

    1,数字类型

    数字类型有整型,浮点型,布尔型,复数类型。

    在python中的数据类型和Java中的数据类型相比少了char字符型数。多了复数类型:复数就是我们上学时学的数据类型,但是和我们数学上学的不一样,在python的数据表示上,虚部单位不是i,而是j,以下就是数字类型数据的使用:

    1. if __name__ == '__main__':
    2. integer_=20 # 整型
    3. float_=20.2 # 浮点型
    4. boolean_=False # 布尔型
    5. complex_=20+1j # 复述类型
    6. print(complex_.real) # 打印复数的实数部分
    7. print(complex_.imag) # 打印复数的虚数部分

     从上图我们可以知道,如果我们想要打印出来复数类型的实数部分,我们可以使用“复数类型.real”来获取到。如果想要获取到虚数部分则使用“复数类型.image”。

    在声明数据类型时为了防止我们的标识符与关键字冲突,我都在后面加上了下划线。

     2,字符串类型

    字符串的数据使用和Java相比,可以使用一对单引号,一对双引号,三对单引号。甚至是三对双引号(在python中不止可以用于注释还可以用于包裹我们的字符串类型数据):

    1. if __name__ == '__main__':
    2. string1='hei,man'
    3. string2="you are handsome"
    4. string3='''keep coding'''
    5. string4="""day day up"""
    6. print(string1)
    7. print(string2)
    8. print(string3)
    9. print(string4)

     关于字符串的操作有很多,因为字符串数据类型可以说,无论是生活还是在编码的时候,用得最多的数据类型。我们先来了解python中关于字符串操作的两个函数:

    1. replace(old  string,new  string):可以替换字符串中指定字符串的内容
    2. split(split content):以字符串中指定字符或字符串来将我们的字符串分开,并放入列表数据据 类型中。
    1. if __name__ == '__main__':
    2. string1 = 'abcdddd'
    3. string2=string1.replace('dddd','defg')
    4. print(f"replace后的string1:{string2}")
    5. string3="1 2 3 4 5"
    6. """ 使用split函数对string3进行按空格分割处理"""
    7. string4=string3.split()
    8. print(f"使用split后的string4:{string4}")

     值得注意的是,字符串类型的数据是不能进行修改的,因此我们在对一个字符串修改后,需要将修改后的字符串赋值给另外一个字符串类型的变量存储起来。不然即使我们对字符串的处理玩出花来,但是没有赋值给其他变量,原来的字符串也不会有丝毫的改变。

     3,列表类型

    列表是使用一对中括号括起来的数据,我们可以往列表中放置任意类型的数据(列表中的元素应该使用逗号,隔开),并且可以很方便地对列表中的数据进行增删改查等操作。

    1. if __name__ == '__main__':
    2. list1=[1,2.2,False,2+3j,'hei man',[1,2,8]] # 列表数据
    3. list2=[102,2,1,4,9] # 含有数字类型的列表数据
    4. list2.sort()
    5. print(f"list2列表排序后:{list2}") # 列表排序
    6. print(f"取出list1列表中的第二个元素:{list1[1]}") # 获取列表中的第二个元素
    7. list1[1]="嘿,man" # 修改列表list1中的第二个元素为字符串”嘿,man”
    8. list1.append(list2) # 向list1列表中添加list2列表中的数据
    9. print(f"list1通过append方法将list2中的元素添加进来:{list1}")

     列表也可以进行反转,即将本来位于列表中第一位的元素放置在列表的最后一位,第二位放到倒数第二位,以此类推,最后一位放置到列表中的第一位。一般与列表的排序sort连用以达到使列表排序后的结果是从大到小。

    1. list2=[102,2,1,4,9] # 含有数字类型的列表数据
    2. list2.sort() # 列表排序
    3. print(f"list2列表排序后:{list2}")
    4. list2.reverse() # 列表反转
    5. print(f"list2列表翻转后:{list2}")

    列表中还有remove函数可以用来删除指定的元素:

     4,元组类型

     元组的数据使用小括号()包裹。元组类型和列表相似,也是可以用于存放任意类型的数据,它既然和列表相似,那么它存在的必要性在哪?其实,对于合理的东西来说,因为合理所以存在。因为列表中的数据存放进去之后还可以进行修改排序等操作,经过修改后的数据可以说已经不是原来的数据了。如果有需求说找一个数据类型来存放我们的数据(含有多种数据类型)并且后期不可以修改的话,非元组类型不可。

    1. tuple1=(1,3.141,True,2+3j,[1,4,9],(3,8)) # 存放多种数据类型的元组
    2. print(tuple1[1])
    3. tuple1[1]=False
    4. tuple2=(1,8,10,2)
    5. print(tuple1)

    如上,我们可以看到在将元组中的第二个元素进行修改并运行程序时,程序出现了报错,显示我们的元组类型不支持元素更改。

    5,集合类型

    接下来我们再去认识一个更加特别的数据类型,为什么说它更加特别?因为在它里面的元素都是独一无二的,如果我们想要向集合里面添加集合中已经有的数据时,是根本做不到的。集合使用花括号{}来包裹集合元素。

     值得注意的是集合不像列表和元组那样可以存放列表,元组这样的数据类型,其实想想也是能够说得通的,就是我们的元组,列表里面可以存放的数据类型是可以重复的,因此可能会有和我们的集合中的数据相同的部分。

    1. if __name__ == '__main__':
    2. set1={1,2.2,True,2+3j}
    3. set2={6,1}
    4. set1.add(3)
    5. set1.add(1) # 向集合set1添加整型数据1
    6. print(f"1,向set1集合添加没有的数据3和已经存在的数据1后:{set1}")
    7. set1.pop() # 删除集合set1第一个元素
    8. print(f"2,集合set1使用pop后:{set1}")
    9. set1.union(set2) # 合并两个集合
    10. print(f"3,合并后的集合:{set1}")
    11. set2.clear() # 清空集合set2
    12. print(f"4,clear清空后的集合:{set2}")

     集合无论是添加add还是删除pop函数,都是在第一个位置的元素进行,这一点就与列表不同,列表的appendpop函数都是操作列表的最后一位元素

    在集合中union函数和MySQL多表查询中的union语句类似,都是并上的意思,用于将两边的数据进行合并。mysql中是直接加在一起。而对于集合来说,因为它里面的元素不允许重复,因此如果两边数据如果有重复的地方,那么合并后重复的数据不会出现两次,而是之后一次。

    6,字典类型

    字典类型的数据被花括号{}包围。字典是一个很形象的数据类型,它就和我们生活中使用的字典一样,都是找到了一个关键字key,然后再拿着这个关键字去找相关的元素,因为我们需要通过key得到我们的value值,因此key值就不会有重复。

    1. if __name__ == '__main__':
    2. dict1={"id":1,"name":"常山赵子龙"}
    3. print(dict1)
    4. for i in dict1.keys(): # 获取字典中的键
    5. print(i)
    6. for i in dict1.values(): # 获取字典中的值
    7. print(i)
    8. for i in dict1.items(): # 获取字典中键:值
    9. print(i)
    10. dict1.pop("id") # 删除字典中对应的键值
    11. dict1.clear() # 清空字典
    12. print(dict1)

  • 相关阅读:
    nginx(CVE-2022-41741和41742) 漏洞修复
    财务工作者,是否需要学习 Python?
    [R] How to communicate with your data? - ggplot2
    python 获取某个字符指定字符的前面、后面和中间的字符
    奥威BI系统,BI界便宜大碗国货
    服务容错框架Sentinel入门
    Node.js环境搭建
    uniapp拦截请求
    【将图片链接中的图片合并成PDF】
    PCL 二次曲面拟合法计算点云高斯、平均曲率与法向量(C++详细过程版)
  • 原文地址:https://blog.csdn.net/weixin_53046747/article/details/127119092