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,[start.[end]]):返回S中出现substr的第一个字母的标号,若无则返回-1,在start到end范围内搜索。

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

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

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

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

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

​ (3)字符串分割、组合

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

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

​ (4)字符串编码、解码

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

​ S.encode([encoding]):将以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[index1:index2[step]] ,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列表尾部追加一个列表[1,2,3],执行命令L1.append([1,2,3]")
        self.L1.append([1,2,3])
        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[2: ]")
        print(self.L1[2:])
        print("取列表L2的第二个元素到倒数第二个元素组成的新列表,步长为2,执行命令L2[1:-1:2]")
        print(self.L2[1:-1:2])
        print('\n')

if __name__=='__main__':
    print("演示列表操作:\n ")
    s1=ShowList()



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值