Python学习笔记二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记二相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

一. python几种数据类型的比较。

      从以下几个方面比较:

 1. 是否可变。

     不可变类型:变量的值可以发生变化,id也变了,相当于创建了一个新的对象,所以一修改值,id就变了,这种类型称之为不可变类型。

     可变类型:变量的值可以发生变化,而且 id不会变,所以称之为可变类型。

     例子:

         

#数字类型样例
x=10 print (id(x))
输出:1374668752
# 修改x的值为100,看看id变了吗?
x=100
print (id(x))
输出:1374671632
可以看到值修改了,id也变了,无法做到修改值,而保持id不变,所以数字类型属于不可变类型。



#字符串样例:

x=‘yangjianbo‘
print(x,id(x))
#修改x的值,两个id比较一下,是否相同。
x=‘wangyanhe‘
print(x,id(x))

输出的结果: 发现字符串的值被修改了,同时它的id也发生了变化,说明是产生了一个新的引用,所以字符串类型也是不可变类型。

#列表样例:
x=[‘yangjianbo‘,‘wangyanhe‘,‘gaozhongmin‘]
print (x,id(x))
#修改一下某个元素,看看列表x,id是否变化。
x[0]=‘gushuwei‘
print (x,id(x))
输出的结果:

[‘yangjianbo‘, ‘wangyanhe‘, ‘gaozhongmin‘] 37527688
[‘gushuwei‘, ‘wangyanhe‘, ‘gaozhongmin‘] 37527688

结论:修改列表中的某个元素,不会影响整个列表的id,所以列表属于可变类型。

 

    #元组样例:

x=(‘yangjianbo‘,‘wangyanhe‘,‘gaozhongmin‘)
print (x,id(x))

x[0]=‘gushuwei‘
print (x,id(x))
输出结果:直接报错,因为元组只可读,不能写。
结论:元组是不可变类型。

#字典
x={‘name‘:‘yangjianbo‘,‘age‘:10,‘bumen‘:‘xitongbu‘}
print (x,id(x))

x[‘name‘]=‘wangyanhe‘
print (x,id(x))
输出结果:

{‘name‘: ‘yangjianbo‘, ‘age‘: 10, ‘bumen‘: ‘xitongbu‘} 31218928
{‘name‘: ‘wangyanhe‘, ‘age‘: 10, ‘bumen‘: ‘xitongbu‘} 31218928

     结论:字典的值可以修改,而且id不会发生变化,所以字典属于可变类型。

2. 有序或无序。

    有序和无序,数据类型能否按照索引的方式,读出数据。

    

#数字类型
x=10
print (x[0])
结论:报错了,数字类型,无法使用索引读出,它不是一个有序的数据类型。
#字符串
x=‘aabbcc4455‘
print (x[9])
结论:字符串可以通过索引读取字符串中的字符,字符串是有序的数据类型。
#列表
x=[‘yangjianbo‘,‘wangyanhe‘,‘gaozhongmin‘]
print (x[0])
结论:列表读取某个元素,必须指定元素的索引,所以列表是有序的数据类型。

#元组
x=(‘yangjianbo‘,‘wangyanhe‘,‘gaozhongmin‘)
print (x[0])
结论:元组读取某个元素,必须指定元素的索引,所以元组是有序的数据类型。

#字典
x={‘name‘:‘yangjianbo‘,‘age‘:10,‘bumen‘:‘xitongbu‘}
print (x[‘name‘])
结论:字典读取其中的某个值,必须指定键名称,不能按照索引进行读取。所以字典不是有序的数据类型。

3. 是否可读写。

    除了元组不可写,其他类型都支持读写。

4. 存一个值还是多个值。

     数字类型只有一个值,

     字符串也只有一个值

     列表多个值

     元组多个值

     字典多个值

二.  数字类型的一些功能

       两个变量交换数值。

            x=10  

            y=20

   x,y=y,x

print (x)
print (y)

将多个变量引用到一个值上。
x=y=z=100
print (x,y,z,id(x),id(y),id(z))

 三.   字符串的一些功能

         查看字符串长度

x=‘aaa11111‘
print (len(x))

    字符串切片

x=‘abc12345ABC‘
print (x[1:9:3])
第一个数字1表示从索引1开始,
第二个数字9表示到第9-1索引结束
第三个数字3表示步长,从索引1开始数,三步一个。

输出的结果:b25

       成员运算符

x=‘abc12345ABC‘
print (‘A‘ in x)
print (‘B‘ not in x)
输出的结果:

  True
  False

   移除空格

        使用字符串的函数strip()    lstrip()    rstrip()

         strip()默认移除的是空白符,\t  \r \n.

name = " yangjianbo"
print (name)
name=name.strip()
print (name)
输出的yangjianbo,没有前面的空白。

name = "yangjianbo*****"
name=name.strip(‘*‘)
print (name)
输出的结果:忽略*号字符。
name = "yangjianbo*****"
name=name.strip(‘an‘)
print (name)
输出的结果:我要忽略an,这个an字符在整个字符串的中间部分,而不是两头,结果输出的结果依然是原来的值

结论:中间的字符不能被忽略,只能忽略头和尾的字符。

  

        分割

        以字符开头

        以字符结尾

        

         

 

                     

 


















































































以上是关于Python学习笔记二的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记(集合的使用文件操作字符编码与转码函数)

《深度学习入门 基于Python的理论与实现》书中代码笔记

python3学习笔记 错误处理

Python 学习笔记

Python基础学习笔记

python爬虫学习笔记-M3U8流视频数据爬虫