python学习笔记

Posted

tags:

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

python变量名里面
 不能使用系统自带的关键字
不能有符号
不能使用数字作为开头
大小写敏感
变量名是没有类型的  是变量名所引用对象的数据类型
变量无须一些括号来括起来
 
python数据类型的可变与不可变
不可变:
1.int类型
a ---123  id:148862176
123值没有被原地修改 
a--- 12345 id:149046952
a 重新引用12345
2.字符串
3.元祖
可变:
列表
d = [1,2,3,4,5,6]
type(d)
id(d)
d.pop(d)
d
id(d)
(1,2,3,4,5)
 
字典
e = {"kaka":"010208"}
e
{‘kaka‘:‘010208‘}
e["kaka"]
010208
e[]
 
-----------------------------------------------------------------------------
python基础数据类型之字符串详解
我们的文本的内容  数据库中的存有的内容数据 网页上的内容 拿出来都是字符串
字符串是一个序列  一个有序的集合 
创建字符串 单双引号
 
转义符\
 
\n 回车
 
r不转义  原始字符串
 
w = r   ‘xxxx\nxx‘
 
创建多行的字符串
"""
内容
 
"""
 
2.字符串操作
print  len(a) 输出a的长度
print   a[1]   用索引输出字符串的值   索引从零开始
 print   a[-1]  用索引输出倒数第一位字符串的值
print  a[len(a)-1]  用索引输出总长度-1位字符串的值
 
切片操作 
:
print  a[0:5]     输出索引>= 0  <=4 的值 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
3字符串操作
字符串是不可变类型  
要改变字符串的值需要重新定义一个变量接收
字符串的内置方法
.replace()  替换
a = "iplaypython"
print a.replace("iplay","ilove")
 
help()查找xx的方法
print help(str)
 
字符串的格式化操作
  1.   +
  2. 字符串多的时候不方便操作
  3. %  字符串的模板  占位符的概念
例子:"I am a %s."  %  "girl"
         print a
         I am agirl
例子:
       a  = "I an a %s"
       b  =  "girl"
       c  =  "boy" 
       d  = "python"
print a  %  b
print  a  &  d
 
  1.  %s字符串占位符
           %d数值型占位符 
 
 
2.print "I an a %s,i play  %s. %s"  %  ("boy","python","hello") 替换多个要用括号括起来 (会受到顺序的限制)
元祖内的数据顺序要和前面的%s顺序相同,会受到顺序的限制
 a  = "I"
 b  =  "play"
 c = "python"
 
 
  1. %{}占位符字典     键对值
 a  = "I"
 b  =  "play"
 c = "python"
"%(who)s  play %(what)s."  %  {"who":"I"what":"python"}
可以不受顺序的限制,不容易出错  比较适合于叫复杂的字符串的处理
 
4。内置的字符串拼接方法 .join([])
 a  = "I"
 b  =  "play"
 c = "python"
print "".join([a,b,c])
 Iplaypython
""里面可以加入空格或者字符
 
 
 
5(1)    .format()  内置方法格式化字符串
s  = "I  am {0}, I play {1}".fomat("girl","python")
print s
占位符 用 {}  里面加药替换的字符串的索引值
 
 
 
(2) 通过相当于字典的键值找到对应的值  也可以理解为a变量  b变量
"I  am {a}, I play {b}".format(a="girl",b="python")
 
 
python数据类型之间的转换
 
float()
int()
str()
联合赋值 a,b,c = "1","2","3"
xx 删除    del a,b,c
 
 
 
数据类型之列表  可变数据类型 可以做原地修改
一、创建列表对象
l = []
l2  =  list()
l2 = []
s = "abcd"
print list(s)
>>> [‘a‘,‘b‘,‘c‘,‘d‘]
列表可以包含任何数据类型的数据对象  列表是一个有序的集合
l = [1,2,3,"abd",(1,2,3),{"haha":"pk"},[1,2,[1,2].3.4."abcd"]]
 
len()计算列表的长度
print len(l)
 
列表的合拼
+
 
索引的方法取出列表中的数据项
print    l[1.....n]
 
 
列表切片的高级应用
l = [1,2,3,4,5,6,7]
print l[1:6:2(跳过几步 步进)]
 
列表的操作方法
修改列表的数据 l[5] = 6 使用索引值
 
列表对象.对应的方法(传入的参数)
a = ["aaa","bbb","ccc"]
a.append("xxxx")
在列表的结尾处 添加数据  可以添加任何数据类型的对象
.extend()扩展追加  
在原来的列表里面进行扩充  合并成一个列表
同样都是做原地修改

在实际应用中涉及到了列表合并的问题。

在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别
 
1.append()  向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加
2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加
3.+  直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上
4.+= 效果与extend()一样,向原列表追加一个新元素,在原有列表上增加
 技术分享
 
---------------------------------------------------------------------------------------
列表元素的插入
.insert(索引值,要插入的内容)
技术分享
 
 
 
删除列表的数据项  删除修改等不需要重新赋值
del a[索引值]
技术分享
 
 
 
移除列表中数据项的第一个匹配
a = ["aaa","bbb","ccc","ddd"]
a.remove("aaa")
print a
技术分享
技术分享
如果列表中不存在此数据项 就会抛出异常
 
 
.pop() 移除列表中的数据项、
a = ["aaa","bbb","ccc","ddd"]
a.pop(1)     索引
a.pop()删除列表的最后一项
技术分享
技术分享
>>> bbb   让你看到你删除的是哪一项
 
 
列表的统计
.count()   统计列表内元素出现的次数
l = [1,2,3,4,5,1]
l.count(2)  传入参数
技术分享
技术分享
 
 
列表的排序
.sort()
1、sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值;
技术分享
 
l = [1,2,888,3,5,123,6,555]
l.sort()
print l   输出的结果从大到小排列 优先级数字>大写字母>小写字母
技术分享
技术分享
 
sorted()   会重新创建一个对象  需要重新赋值
sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。
例子:技术分享
l = [1,2,888,3,5,123,6,555] 原始的副本
l2 = sorted(l)
技术分享
技术分享
l = [1,2,888,3,5,123,6,555]
原地修改 不需要重新赋值
将书列表中的数据项倒序
 
 
reverse() 
反转  将原来的列表的数据反向拿出来
没有在原地进行修改  需要重新起一个变量
技术分享
注意用list方法将l2转化成列表
技术分享
 
 
.sort的高级 应用
技术分享
技术分享
 
判断元素是否在列表中
in
not in
技术分享
技术分享
 
技术分享
技术分享
 
 
 
 
 
元祖和集合     其不可变性  保证了数据的安全性
修改元祖  要转数据类型 才可以修改
 
sorted(t)可以直接对元祖进行排序并转换为列表对象
技术分享
 
 
 
 
集合 
集合是无序的     不能用索引和切片的操作对它来进行操作
集合是可以去除重复的参数
1.创建集合
set()
ss = set("abc")
print ss
>>>set([‘a‘,‘b‘,‘c‘])
添加方法 
add()将元素作为一个整体添加到集合中去
技术分享
技术分享
update()将元素全部拆分开,逐一的添加到集合中去   作为合并
 
update传入列表的操作
技术分享
技术分享
 
 
集合的删除操作
.remove()
如果集合里面没有要删除的这个元素就会就会报错
 
 
测试某元素是否在集合里面(和列表判断方法相似)
in
技术分享
技术分享
技术分享
技术分享
 
not  in
技术分享
技术分享
 
 
技术分享
技术分享
 
&&&& and符号
交集  并集  差集
 
交集
去除 a  和  b 中 相同的元素
技术分享
技术分享
 
 
并集
去除掉重复的元素其余的全部去除
技术分享
技术分享
 
 
交集  去除a里面有而b里面没有的元素
技术分享
技术分享
 
 
不可变集合 frozenset()
生成一个不可变集合对象   不可以添加或者修改
技术分享
接下来就会报错
技术分享
 
 
 
 
 
 
字典的操作方法
dictionary  可变数据类型  可以做原地修  支持字典之间的嵌套    字典是无序的   不能切片和索引值取出里面的值,可以通过键找到对应的值
d = {"a":"aaa","b":"bbb"}
print b
d2 = dict{}  创建空字典
d2 = {}
d2 = dict(a="aaa",b="bbb")创建有内容的字典
print d2
技术分享
技术分享
 
可变的数据类型不能作为字典的键
技术分享
技术分享
如果在字典的键里面嵌套一个可变数据类型的话
技术分享
技术分享
就会报错哦
 
字典的键是唯一的 值不是唯一的
技术分享
技术分享
 
嵌套字典操作
d = {"a":"aaa","b":"bbb","C":{"c":"ccc"}}
技术分享
技术分享
 
技术分享
技术分享
 
技术分享
技术分享
 
 
取出字典的值
print xxx["xxx"]
技术分享
技术分享
 
变量名[键名] = 值
字典元素的添加
技术分享
技术分享
将信息添加进d字典
 
字典的修改操作  变量名[要修改的值所对应的键名]  = 修改后的新值
技术分享
 
 
如果要修改的键名相同,会被修改,键名不存在,就会新建
 
updated 修改操作
.update()
a = {"a":"bbb","b":"bbb"}
b = {"c":"ccc"}
a.update(b/{"c":"ccc"})用b的值来更新a
print a
>>>{"a":"bbb","c":"ccc","b":"bbb" }
update方法里面参数必须为字典类型  相同的键  值会被修改
 
字典的删除操作
.clear()  清空字典
技术分享
技术分享
del 变量名[键名] 
技术分享
技术分享
 
del a
 
.pop() 
技术分享
技术分享
 
 
字典的成员关系
in
not in
 
字典的其他方法
将字典的键一列表的方式呈现出来
.keys()
技术分享
技术分享
 
 
取出字典的值values()  以列表的形式呈现
技术分享
技术分享
 
 
.items()会将字典中所有的项以列表形式返回,每一项都是键和值的这种组成关系
技术分享
技术分享
关系一一对应
可以直接将返回的列表转换为字典
 
 
.get()通过键来找到字典的值
  如果键不存在,可以设置返回的信息
print d2.get("xiaoming","hahaha"-》这是返回的信息)
技术分享
技术分享
这个与pop方法类似
 
 
 
特殊的python运算符
**幂(乘方)
*乘
遵循数学运算逻辑
先乘除后加减  有挂号先选括号里面的
is /is not   一致性判断
技术分享
技术分享
共同引用同一个对象
ID值相同
同理:
技术分享
技术分享
 
比较运算符
== 判断等号两边的值是否相等 (=是赋值)
< 小于
>大于                          
<=小于等于                        
>=大于等于
!=不等于
 
逻辑运算符
and逻辑与
or逻辑或
not逻辑非
 
比较奇葩的运算符
十进制逢十进一
bin()内置方法  将十进制转换为二进制“0b”开始
技术分享
技术分享
二进制逢二进一
 
 
 
按位运算符是将这些数字用二进制形式来进行计算
按位与  &
 5 & 3  将5和3都转换为二进制进行计算
运算规则:0&1=0  1&1=1   1&0=0 
即:两位同时为"1",结果才为"1",否则为"0"
 
按位或  |
5 | 3  将5和3都转换为二进制进行"或"运算
运算规则:0|1=1   1|1=1    1|0=1  0|0=0
即:参加运算的两个对象只要有一个为1,其值为1
 
按位异或^
5^3 参加运算的连个数据,按二进制位进行"异或"运算
运算规则: 0^0=0;  0^1=1;   1^0=1;   1^1=0;
 即:参加运算的两个对象, 如果两个相应位为"异"(值不同),则该位结果为1,否则为0
 
<<右移
从右边开始砍掉几位  等于数据原始二进制位数就等于0
>>左移
 
 
 
数据结构和数据类型进阶
r  =  raw_input("提示带给用户的信息:")获取用户的输入  r 用来接收用户输入的信息
会将所有用户输入的内容转换为字符串类型
 
input  用户输入时什么数据类型就默认输出什么数据类型  不会改变数据的数据类型
 
input和rwa_input的区别
 
 
xx = []下标取值  针对有序序列
元祖 第一个索引对应字典的键   往后对应字典的值
a = [("a",123),("b",456)]
 
zip()内置函数
技术分享
技术分享
zip()会以最短的数据序列结束
 
a = "hahaha"
b = "hehehe"
技术分享
技术分享
 
高级排序
a = ["2134","5656"."111","45678"]
a.sort()按照字符串首字母大小来进行排序
技术分享
技术分享
.sort(key=int)以整型的形式来排序
技术分享
技术分享
 
按长度来排序
.sort(key=len)
技术分享
技术分享
 
以上同样适用于 .sorted()方法的排序
 
.reverse()方法返回的是一个可迭代对象,不能直接对他使用索引,切片这些方法,需要我们对他用list()进行一下list()数据类型转换在操作
 
占位符  字符串模板 深入理解
网站的内容都是字符串模板
 
 
空值的概念
None   属于空值类型  表示什么都没有
 
a = None
 
课后作业巩固:
技术分享
这是方法一:
 
技术分享
技术分享
 
这是方法二:
技术分享
技术分享
以逗号为分割点  分割字符串
 
 
python语句的讲解01
 
and 全部为真  返回真值 否则返回假
or  至少一项为真
not  将结果反转
not()逻辑非
is 判断两个变量是否引用同一个对象
is not 判断两个变量是否引用同一个对象
==判断两个变量是否相等
 
三元表达式
a = True
print 1 if a else 2
条件成立输出左边的值  否则输出右边的值
 
 
技术分享
技术分享
 
同理
技术分享
技术分享
 
 
python语句讲解02
 
while 循环语句 重复不断做某件事情 也可能会有结束 也可能永远没有
while条件:
     print "hello world"
     break 结束我们的while循环语句   下面的代码都不执行
     continue  结束一层循环  下面的代码都不执行 
else不能和break合用
 
for 循环语句
 它是一个序列迭代器  可以遍历任何有序的序列对象内的元素
将对象的元素依次全部迭代出来  i 用来代指迭代出来的元素
for 目标元素 in 对象:
      重复的语句块
技术分享
技术分享
 
技术分享
技术分享
 
最后一个被迭代出来的元素会被保留
技术分享
技术分享
 
 
 
 
 
python文件处理和操作的相关知识
f = open("打开文件的路径和文件名/home/leo/sorkspace/hello.txt")
返回文件对象  不返回文件的值
所以要重新赋值给一个变量
 
读取文件操作
print  f.read()
 
 
python变量名里面
 不能使用系统自带的关键字
不能有符号
不能使用数字作为开头
大小写敏感
变量名是没有类型的  是变量名所引用对象的数据类型
变量无须一些括号来括起来
 
python数据类型的可变与不可变
不可变:
1.int类型
a ---123  id:148862176
123值没有被原地修改 
a--- 12345 id:149046952
a 重新引用12345
2.字符串
3.元祖
可变:
列表
d = [1,2,3,4,5,6]
type(d)
id(d)
d.pop(d)
d
id(d)
(1,2,3,4,5)
 
字典
e = {"kaka":"010208"}
e
{‘kaka‘:‘010208‘}
e["kaka"]
010208
e[]
 
-----------------------------------------------------------------------------
python基础数据类型之字符串详解
我们的文本的内容  数据库中的存有的内容数据 网页上的内容 拿出来都是字符串
字符串是一个序列  一个有序的集合 
创建字符串 单双引号
 
转义符\
 
\n 回车
 
r不转义  原始字符串
 
w = r   ‘xxxx\nxx‘
 
创建多行的字符串
"""
内容
 
"""
 
2.字符串操作
print  len(a) 输出a的长度
print   a[1]   用索引输出字符串的值   索引从零开始
 print   a[-1]  用索引输出倒数第一位字符串的值
print  a[len(a)-1]  用索引输出总长度-1位字符串的值
 
切片操作 
:
print  a[0:5]     输出索引>= 0  <=4 的值 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
3字符串操作
字符串是不可变类型  
要改变字符串的值需要重新定义一个变量接收
字符串的内置方法
.replace()  替换
a = "iplaypython"
print a.replace("iplay","ilove")
 
help()查找xx的方法
print help(str)
 
字符串的格式化操作
  1.   +
  2. 字符串多的时候不方便操作
  3. %  字符串的模板  占位符的概念
例子:"I am a %s."  %  "girl"
         print a
         I am agirl
例子:
       a  = "I an a %s"
       b  =  "girl"
       c  =  "boy" 
       d  = "python"
print a  %  b
print  a  &  d
 
  1.  %s字符串占位符
           %d数值型占位符 
 
 
2.print "I an a %s,i play  %s. %s"  %  ("boy","python","hello") 替换多个要用括号括起来 (会受到顺序的限制)
元祖内的数据顺序要和前面的%s顺序相同,会受到顺序的限制
 a  = "I"
 b  =  "play"
 c = "python"
 
 
  1. %{}占位符字典     键对值
 a  = "I"
 b  =  "play"
 c = "python"
"%(who)s  play %(what)s."  %  {"who":"I"what":"python"}
可以不受顺序的限制,不容易出错  比较适合于叫复杂的字符串的处理
 
4。内置的字符串拼接方法 .join([])
 a  = "I"
 b  =  "play"
 c = "python"
print "".join([a,b,c])
 Iplaypython
""里面可以加入空格或者字符
 
 
 
5(1)    .format()  内置方法格式化字符串
s  = "I  am {0}, I play {1}".fomat("girl","python")
print s
占位符 用 {}  里面加药替换的字符串的索引值
 
 
 
(2) 通过相当于字典的键值找到对应的值  也可以理解为a变量  b变量
"I  am {a}, I play {b}".format(a="girl",b="python")
 
 
python数据类型之间的转换
 
float()
int()
str()
联合赋值 a,b,c = "1","2","3"
xx 删除    del a,b,c
 
 
 
数据类型之列表  可变数据类型 可以做原地修改
一、创建列表对象
l = []
l2  =  list()
l2 = []
s = "abcd"
print list(s)
>>> [‘a‘,‘b‘,‘c‘,‘d‘]
列表可以包含任何数据类型的数据对象  列表是一个有序的集合
l = [1,2,3,"abd",(1,2,3),{"haha":"pk"},[1,2,[1,2].3.4."abcd"]]
 
len()计算列表的长度
print len(l)
 
列表的合拼
+
 
索引的方法取出列表中的数据项
print    l[1.....n]
 
 
列表切片的高级应用
l = [1,2,3,4,5,6,7]
print l[1:6:2(跳过几步 步进)]
 
列表的操作方法
修改列表的数据 l[5] = 6 使用索引值
 
列表对象.对应的方法(传入的参数)
a = ["aaa","bbb","ccc"]
a.append("xxxx")
在列表的结尾处 添加数据  可以添加任何数据类型的对象
.extend()扩展追加  
在原来的列表里面进行扩充  合并成一个列表
同样都是做原地修改

在实际应用中涉及到了列表合并的问题。

在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别
 
1.append()  向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加
2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加
3.+  直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上
4.+= 效果与extend()一样,向原列表追加一个新元素,在原有列表上增加
 技术分享
 
---------------------------------------------------------------------------------------
列表元素的插入
.insert(索引值,要插入的内容)
技术分享
 
 
 
删除列表的数据项  删除修改等不需要重新赋值
del a[索引值]
技术分享
 
 
 
移除列表中数据项的第一个匹配
a = ["aaa","bbb","ccc","ddd"]
a.remove("aaa")
print a
技术分享
技术分享
如果列表中不存在此数据项 就会抛出异常
 
 
.pop() 移除列表中的数据项、
a = ["aaa","bbb","ccc","ddd"]
a.pop(1)     索引
a.pop()删除列表的最后一项
技术分享
技术分享
>>> bbb   让你看到你删除的是哪一项
 
 
列表的统计
.count()   统计列表内元素出现的次数
l = [1,2,3,4,5,1]
l.count(2)  传入参数
技术分享
技术分享
 
 
列表的排序
.sort()
1、sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值;
技术分享
 
l = [1,2,888,3,5,123,6,555]
l.sort()
print l   输出的结果从大到小排列 优先级数字>大写字母>小写字母
技术分享
技术分享
 
sorted()   会重新创建一个对象  需要重新赋值
sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。
例子:技术分享
l = [1,2,888,3,5,123,6,555] 原始的副本
l2 = sorted(l)
技术分享
技术分享
l = [1,2,888,3,5,123,6,555]
原地修改 不需要重新赋值
将书列表中的数据项倒序
 
 
reverse() 
反转  将原来的列表的数据反向拿出来
没有在原地进行修改  需要重新起一个变量
技术分享
注意用list方法将l2转化成列表
技术分享
 
 
.sort的高级 应用
技术分享
技术分享
 
判断元素是否在列表中
in
not in
技术分享
技术分享
 
技术分享
技术分享
 
 
 
 
 
元祖和集合     其不可变性  保证了数据的安全性
修改元祖  要转数据类型 才可以修改
 
sorted(t)可以直接对元祖进行排序并转换为列表对象
技术分享
 
 
 
 
集合 
集合是无序的     不能用索引和切片的操作对它来进行操作
集合是可以去除重复的参数
1.创建集合
set()
ss = set("abc")
print ss
>>>set([‘a‘,‘b‘,‘c‘])
添加方法 
add()将元素作为一个整体添加到集合中去
技术分享
技术分享
update()将元素全部拆分开,逐一的添加到集合中去   作为合并
 
update传入列表的操作
技术分享
技术分享
 
 
集合的删除操作
.remove()
如果集合里面没有要删除的这个元素就会就会报错
 
 
测试某元素是否在集合里面(和列表判断方法相似)
in
技术分享
技术分享
技术分享
技术分享
 
not  in
技术分享
技术分享
 
 
技术分享
技术分享
 
&&&& and符号
交集  并集  差集
 
交集
去除 a  和  b 中 相同的元素
技术分享
技术分享
 
 
并集
去除掉重复的元素其余的全部去除
技术分享
技术分享
 
 
交集  去除a里面有而b里面没有的元素
技术分享
技术分享
 
 
不可变集合 frozenset()
生成一个不可变集合对象   不可以添加或者修改
技术分享
接下来就会报错
技术分享
 
 
 
 
 
 
字典的操作方法
dictionary  可变数据类型  可以做原地修  支持字典之间的嵌套    字典是无序的   不能切片和索引值取出里面的值,可以通过键找到对应的值
d = {"a":"aaa","b":"bbb"}
print b
d2 = dict{}  创建空字典
d2 = {}
d2 = dict(a="aaa",b="bbb")创建有内容的字典
print d2
技术分享
技术分享
 
可变的数据类型不能作为字典的键
技术分享
技术分享
如果在字典的键里面嵌套一个可变数据类型的话
技术分享
技术分享
就会报错哦
 
字典的键是唯一的 值不是唯一的
技术分享
技术分享
 
嵌套字典操作
d = {"a":"aaa","b":"bbb","C":{"c":"ccc"}}
技术分享
技术分享
 
技术分享
技术分享
 
技术分享
技术分享
 
 
取出字典的值
print xxx["xxx"]
技术分享
技术分享
 
变量名[键名] = 值
字典元素的添加
技术分享
技术分享
将信息添加进d字典
 
字典的修改操作  变量名[要修改的值所对应的键名]  = 修改后的新值
技术分享
 
 
如果要修改的键名相同,会被修改,键名不存在,就会新建
 
updated 修改操作
.update()
a = {"a":"bbb","b":"bbb"}
b = {"c":"ccc"}
a.update(b/{"c":"ccc"})用b的值来更新a
print a
>>>{"a":"bbb","c":"ccc","b":"bbb" }
update方法里面参数必须为字典类型  相同的键  值会被修改
 
字典的删除操作
.clear()  清空字典
技术分享
技术分享
del 变量名[键名] 
技术分享
技术分享
 
del a
 
.pop() 
技术分享
技术分享
 
 
字典的成员关系
in
not in
 
字典的其他方法
将字典的键一列表的方式呈现出来
.keys()
技术分享
技术分享
 
 
取出字典的值values()  以列表的形式呈现
技术分享
技术分享
 
 
.items()会将字典中所有的项以列表形式返回,每一项都是键和值的这种组成关系
技术分享
技术分享
关系一一对应
可以直接将返回的列表转换为字典
 
 
.get()通过键来找到字典的值
  如果键不存在,可以设置返回的信息
print d2.get("xiaoming","hahaha"-》这是返回的信息)
技术分享
技术分享
这个与pop方法类似
 
 
 
特殊的python运算符
**幂(乘方)
*乘
遵循数学运算逻辑
先乘除后加减  有挂号先选括号里面的
is /is not   一致性判断
技术分享
技术分享
共同引用同一个对象
ID值相同
同理:
技术分享
技术分享
 
比较运算符
== 判断等号两边的值是否相等 (=是赋值)
< 小于
>大于                          
<=小于等于                        
>=大于等于
!=不等于
 
逻辑运算符
and逻辑与
or逻辑或
not逻辑非
 
比较奇葩的运算符
十进制逢十进一
bin()内置方法  将十进制转换为二进制“0b”开始
技术分享
技术分享
二进制逢二进一
 
 
 
按位运算符是将这些数字用二进制形式来进行计算
按位与  &
 5 & 3  将5和3都转换为二进制进行计算
运算规则:0&1=0  1&1=1   1&0=0 
即:两位同时为"1",结果才为"1",否则为"0"
 
按位或  |
5 | 3  将5和3都转换为二进制进行"或"运算
运算规则:0|1=1   1|1=1    1|0=1  0|0=0
即:参加运算的两个对象只要有一个为1,其值为1
 
按位异或^
5^3 参加运算的连个数据,按二进制位进行"异或"运算
运算规则: 0^0=0;  0^1=1;   1^0=1;   1^1=0;
 即:参加运算的两个对象, 如果两个相应位为"异"(值不同),则该位结果为1,否则为0
 
<<右移
从右边开始砍掉几位  等于数据原始二进制位数就等于0
>>左移
 
 
 
数据结构和数据类型进阶
r  =  raw_input("提示带给用户的信息:")获取用户的输入  r 用来接收用户输入的信息
会将所有用户输入的内容转换为字符串类型
 
input  用户输入时什么数据类型就默认输出什么数据类型  不会改变数据的数据类型
 
input和rwa_input的区别
 
 
xx = []下标取值  针对有序序列
元祖 第一个索引对应字典的键   往后对应字典的值
a = [("a",123),("b",456)]
 
zip()内置函数
技术分享
技术分享
zip()会以最短的数据序列结束
 
a = "hahaha"
b = "hehehe"
技术分享
技术分享
 
高级排序
a = ["2134","5656"."111","45678"]
a.sort()按照字符串首字母大小来进行排序
技术分享
技术分享
.sort(key=int)以整型的形式来排序
技术分享
技术分享
 
按长度来排序
.sort(key=len)
技术分享
技术分享
 
以上同样适用于 .sorted()方法的排序
 
.reverse()方法返回的是一个可迭代对象,不能直接对他使用索引,切片这些方法,需要我们对他用list()进行一下list()数据类型转换在操作
 
占位符  字符串模板 深入理解
网站的内容都是字符串模板
 
 
空值的概念
None   属于空值类型  表示什么都没有
 
a = None
 
课后作业巩固:
技术分享
这是方法一:
 
技术分享
技术分享
 
这是方法二:
技术分享
技术分享
以逗号为分割点  分割字符串
 
 
python语句的讲解01
 
and 全部为真  返回真值 否则返回假
or  至少一项为真
not  将结果反转
not()逻辑非
is 判断两个变量是否引用同一个对象
is not 判断两个变量是否引用同一个对象
==判断两个变量是否相等
 
三元表达式
a = True
print 1 if a else 2
条件成立输出左边的值  否则输出右边的值
 
 
技术分享
技术分享
 
同理
技术分享
技术分享
 
 
python语句讲解02
 
while 循环语句 重复不断做某件事情 也可能会有结束 也可能永远没有
while条件:
     print "hello world"
     break 结束我们的while循环语句   下面的代码都不执行
     continue  结束一层循环  下面的代码都不执行 
else不能和break合用
 
for 循环语句
 它是一个序列迭代器  可以遍历任何有序的序列对象内的元素
将对象的元素依次全部迭代出来  i 用来代指迭代出来的元素
for 目标元素 in 对象:
      重复的语句块
技术分享
技术分享
 
技术分享
技术分享
 
最后一个被迭代出来的元素会被保留
技术分享
技术分享
 
 
 
 
 
python文件处理和操作的相关知识
f = open("打开文件的路径和文件名/home/leo/sorkspace/hello.txt")
返回文件对象  不返回文件的值
所以要重新赋值给一个变量
 
读取文件操作
print  f.read()

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

[Python] Python 学习笔记

Python学习笔记

[Python笔记]Python学习笔记三

Python学习笔记-2017.5.4thon学习笔记-2017.5.14

[Python笔记]Python学习笔记四

Python学习笔记-2017.5.4thon学习笔记-2017.8.08