木头127 发表于 2022-3-25 23:32

Python学习日记Day1:变量类型

Python

        python 可用于系统编程、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、PYMO游戏引擎。

python变量类型



Python的标准数据类型只有5个:数字、字符串、列表、元组、字典。

Python给变量赋值时不需要预先声名变量类型。

1.数字

python支持 三种不同的数值类型:

        int类型(整数):python3中没有sys.maxint限制,理论上来说python3的int类型是无限大的。8进制和16进制数字都是属于int(Long)类型的。

        float类型:浮点型实数,是数学中带小数点的数,不包括无限小数,不区分精度。

        complex类型:复数包含一个有序对,表示为a+bj,其中,a是实部,b是复数的虚部。

2.字符串

字符串被定义为在引号(或双引号)之间的一组连续的字符。

字符串也可以看成一个不可修改的字符列表,所以大部分用来操作列表的方法(不涉及修改列表元素的)同样可以用来操作字符串。

典型的字符串操作如下:

        (1)字符串大小写的转换

                S.lower()::字母大写转换成小写。

                S.upper():字母小写转换成大写

                S.swapcase():字母大写转换成小写,小写转换成大写。

                S.title():将首字母大写

        (2)字符串的搜索、替换

                S.find(substr,]):返回S中出现substr的第一个字母的标号,若无则返回-1,在start到end范围内搜索。

                S.count(substr,]):计算substr在S中出现的次数

                S.replace(oldstr,newstr,):把S中的oldstr替换为newstr,count为替换次数。

                S.strip():把S左右两端chars中有的字符全部去掉,一般用于去除空格。

                S.lstrip():把S左端chars中所有的字符全部去掉。

                S.rstrip():把S右端chars中所有的字符全部去掉。

        (3)字符串分割、组合

                S.split(]):以sep为分隔符,把S分成一个List,maxsplit表示分割的次数,默认的分割符为空白字符。

                S.join(seq):把seq代表的序列———字符串序列,用S连接起来,比如# $.

        (4)字符串编码、解码

                S.decode():将以encoding编码的S解码为 unicode编码。

                S.encode():将以unicode编码的S编码成encoding,encoding可以是gb2312,gbk,big5.......

        (5)字符串测试

                S.isalpha():S是否全是字母,至少有一个字符。

                S.isdigit():S是否全是数字,至少有一个字符。

                S.isspace():S是否全是空白字符,至少有一个字符。

                S.islower():S中的字母是否全是小写。

                S.isupper():S中的字母是否全是大写。

                S.istitle():S是否是首字母大写的。

3.列表

列表是Python最常用的变量类型,列表是一个可变序列,序列中每个元素都分配一个数字,即它的位置,或者叫索引。第一个索引是0,第二个索引是1,以此类推。列表中的元素可以是数字、字符串、列表、元组、字典......

[ ]用来表示列表, 将一个变量赋值为空列表,var=[ ] ;

访问列表只需要列表名和列表中元素的下标即可;

列表的基本操作:

创建列表 L=[] 、插入数据 L.insert(位置,元素)、追加数据 L.append()、访问数据 L[ 索引]、删除数据 L.pop( )

最常用的列表操作:列表分片,操作为 list] ,step为步长。比如L(0,:0:2)

4.元组

元组与列表相似,不同之处在于元组的元素是不可修改的,赋值后就无法修改,是不可变序列。

元组用()声明。

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

列表切片可以对元组使用,因为切片并不改变原始数据。

元组和列表可以相互抓换,用tuple(list)可以将列表转换成为元组,反过来用list(tuple)将元组转换成列表。

元组和列表的不同仅仅在于一个可修改,一个不可修改。

由于元组不可修改的特性,一般在函数中需要返回多个返回值时,可以将这些返回值放入一个元组中返回。

5.字典

字典声明使用 {} ,元素分隔符为 逗号。

字典中的键和列表中的索引一样是不可重复的,但键是无序的,字典中的元素没有顺序可言。

一般用字符串做键,键与键值用冒号分割,字典中通过键来访问键值。

由于字典的键值无序,所以插入一个数据,无须使用insert,直接定义即可。

修改字典同样是直接定义,删除元素使用del,可以理解为 取消分配给变量的内存空间。

del可以删除数字变量、字符串变量、列表、元组、字典等等。

字典的键和键值可以是任何类型,没有特殊要求的情况下,尽可能使用字符串作为键。

字典的常用操作:

        dict.keys():返回一个包含字典所有key的列表

        dict.values():返回一个包含字典所有value的列表。

        dict.items():返回一个包含所有(键,值)元组的列表。

        dict.clear():删除字典中所有的元素。

        dict.get(key):返回字典中key所对应的值。

    ** #字符串的基本操作 **
    def strCase():
      "字符串大小写转换!"
      print("演示字符串大小写转换:")
      print("演示字符串S赋值为:'This is a PYTHON '")
      S='This is a PYTHON '
      print("大写转换成小写:\t S.lower() \t=%s" %(S.lower()))
      print("小写抓换成大写:\t S.upper() \t=%s" %(S.upper()))
      print("大小写转换: \t \t S.swapcase() \t=%s" %(S.swapcase()))
      print("首字母大写: \t \t S.title() \t= %s" %(S.title()))
      print('\n')
      
    ** #“\t”是指制表符,代表着四个空格,也就是一个tab;**
    ** # 它的作用是对齐表格数据的各列,可以在不使用表格的情况下, **
    ** # 将数据上下对齐 **
   
    def strFind():
      "字符串搜索、替换"
      print("演示字符串S赋值为: ' ThIs is a PYTHON '")
      S2='ThIs IS a PYTHON '
      print("字符串搜索: \t \t S.find('is') \t =%s" %(S2.find('is')))
      print("字符串统计:\t \t S.count('s')\t =%s"%(S2.count('s')))
      print("字符串替换:\t \tS.replace('IS','is')=%s"%(S2.replace('IS','is')))
      print("去左右空格:\t\tS.strip()\t=#%s#"%(S2.strip()))
      print("去左边空格:\t\tS.lstrip() \t=#%s#"%(S2.lstrip()))
      print("去右边空格:\t\tS.rstrip() \t=#%s#"%(S2.rstrip()))
      print('\n')
      
    ** # %s 是将值插入到%s 占位符的字符串**
   
    def strSplit():
      "字符串分割、组合"
      print("演示字符串分割、组合 ")
      print("演示字符串S赋值为:'ThIs is a PYTHON'")
      S='ThIs is PYTHON'
      print("字符串分割:\t\tS.split() \t =%s"%(S.split()))
      print("字符串组合1:\t\t'#'.join(['this','is','a','python'])\t=%s"%('#'.join(['this','is','a','python'])))
      print("字符串组合2:\t\t'$'.join(['this','is','a','python'])\t=%s"%('$'.join(['this','is','a','this'])))
      print('\n')
      
    ** #jion 用字符将字符串连接起来,比如# $ **
   
    def strTest():
      "字符串测试"
      print("演示字符串测试")
      print("演示字符串S赋值为:'abcd'")
      S1='abcd'
      print("测试S.isalpha()=%s"%(S1.isalpha()))#是否全是字母
      print("测试S.isdigit()=%s"%(S1.isdigit()))#是否全是数字
      print("测试S.isspace()=%s"%(S1.isspace()))#是否全是空白字符
      print("测试S.islower()=%s"%(S1.islower()))#字母是否全部小写
      print("测试S.isupper()=%s"%(S1.isupper()))#字母是否全部大写
      print("测试S.istitle()=%s"%(S1.istitle()))#是否首字母大写
   
       ** #注意if 和__name__之间有个空格 ,否则会报错 **
    if __name__=='__main__' :
      strCase()
      strFind()
      strSplit()
      strTest()

    ** #列表的操作 **
    class ShowList(object):
      def __init__(self):
            self.L1=[]
            self.L2=[]
   
            self.createList() #创建列表
            self.insertData() #插入数据
            self.appendData() #追加数据
            self.deleteData() #删除数据
            self.subList() #列表分片
      
      def createList(self):
            print("创建列表:")
            print("L1=list('abcdefg')")
            self.L1=list('abcdefg')
            print("L2=[]")
            print("for i in xrange(0,10):")
            print("\tL2.append(i)")
            for i in range (0,10):
                self.L2.append(i)
            print("L1= "),
            print(self.L1)
            print("L2= "),
            print(self.L2)
            print('\n')
      
      def insertData(self):
            print("插入数据:")
            print("L1列表中第3个位置插入数字100,执行命令:L1.insert(3,100)")
            self.L1.insert(3,100)
            print("L1= ")
            print(self.L1)
            print("L2列表中第10个位置插入字符串'python',执行命令:L2.insert(10,'python')")
            self.L2.insert(10,'python')
            print("L2= ")
            print(self.L2)
            print('\n')
   
      def appendData(self):
            print("追加数据:")
            print("L1列表尾部追加一个列表,执行命令L1.append(")
            self.L1.append()
            print("L1=")
            print(self.L1)
            print("L2列表尾部追加一个元组('a','b','c','d'),执行命令L2.append('a','b','c','d')")
            self.L2.append(('a','b','c','d'))
            print("L2= ")
            print(self.L2)
            print('\n')
   
      def deleteData(self):
            print("删除数据")
            print("删除L1的最后一个元素,执行命令L1.pop()")
            self.L1.pop()
            print("L1= ")
            print(self.L1)
            print("删除L的第一个元素,执行命令L1.pop(0)")
            self.L1.pop(0)
            print("L1= ")
            print(self.L1)
            print("删除L2的第四个元素,执行命令L2.pop(3) ")
            self.L2.pop(3)
            print("L2= ")
            print(self.L2)
            print('\n')
   
      def subList(self):
            print("列表分片")
            print("取列表L的第三到最后一个元素组成的新列表,执行命令L")
            print(self.L1)
            print("取列表L2的第二个元素到倒数第二个元素组成的新列表,步长为2,执行命令L2")
            print(self.L2)
            print('\n')
   
    if __name__=='__main__':
      print("演示列表操作:\n ")
      s1=ShowList()

zjbthomas 发表于 2022-3-26 01:03

支持一下 例子举得都挺清楚的

zhangting2022 发表于 2022-3-26 05:33

详细,我也学了一段时间,但是效果不好,时间太少没有时间巩固和练习

standley 发表于 2022-3-26 06:22

支持一下,向你学习{:1_893:}

heisedeshamo 发表于 2022-3-26 07:06

支持,爱学习

jr928110456 发表于 2022-3-26 07:16

不明觉厉。

伴无言 发表于 2022-3-26 07:35

跟着大佬学习

lxx05 发表于 2022-3-26 08:02

特来学习的

daisypojie 发表于 2022-3-26 08:46

wanlinwo 发表于 2022-3-26 08:48

页: [1] 2
查看完整版本: Python学习日记Day1:变量类型