python学习之Day2
Posted ccorz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之Day2相关的知识,希望对你有一定的参考价值。
这周写的有点晚了,培训的作业写得头都大了,原来以为写2天就能写完,结果自己加了点功能居然搞了4天。。。
第二天的培训内容基本在第一天的博客里就有了,提前看了下视频做了点记录,就把第二天的培训内容要点写一些吧,所以这周的笔记应该不是很多。废话不说了,开整。
上周要点基本就讲了下列表、字典和运算符之类的。
本周亮点内容:
常量
常量顾名思义就是不会频繁变动的变量,为了便于别的程序员读懂你的代码,最好将常量定义以全部大写的方式来呈现,也可说业内潜规则吧,类似于变量的驼峰式和下划线命名规则。比如:
CHINA=\'中国\'
列表
列表中,字符串用引号表示,不带引号的为变量,print列表时,列表会将变量自动转化为变量对应的字符串:
name=\'ccorz\' l1=[1,\'orz\',name,\'python\'] print(l1)
结果:
[1, \'orz\', \'ccorz\', \'python\']
列表删除
除了list.remove(),还可用del ,del同样适用于变量,列表,字典等等,也可删多个:
name=\'ccorz\' del name #可删变量 l1=[1,\'orz\',name,\'python\'] print(l1)
结果:
Traceback (most recent call last): File "C:/Users/Shane/PycharmProjects/test/111111.py", line 71, in <module> l1=[1,\'orz\',name,\'python\'] NameError: name \'name\' is not defined
同样删除列表中的元素:
name=\'ccorz\' l1=[1,\'orz\',name,\'python\'] print(l1) del l1[0] #删除单个元素 print(l1) del l1[0:2] #删除多个 print(l1)
结果:
[1, \'orz\', \'ccorz\', \'python\'] [\'orz\', \'ccorz\', \'python\'] [\'python\']
列表删除还有pop(),其中remove为删除元素,pop()为删除列表的索引:
name=\'ccorz\' l1=[1,\'orz\',name,\'python\'] print(l1) print(l1[:]) #list[:} 取列表中的所有元素 l1.pop() #pop()无指定的话,删除最后一个元素,同pop(-1) print(l1) l1.pop(1) print(l1) l1.remove(\'ccorz\') print(l1)
结果:
[1, \'orz\', \'ccorz\', \'python\'] [1, \'orz\', \'ccorz\', \'python\'] [1, \'orz\', \'ccorz\'] [1, \'ccorz\'] [1]
pop比如:
name=\'ccorz\' l1=[1,\'orz\',name,\'python\'] l1.append(\'haha\') print(l1) l1.insert(1,\'goo\') print(l1)
结果:
[1, \'orz\', \'ccorz\', \'python\', \'haha\'] [1, \'goo\', \'orz\', \'ccorz\', \'python\', \'haha\'] [1, \'goo\', \'orz\', \'ccorz\', \'python\']
列表排序
sort()可将列表排序,但在py3中,数字和字符串同时出现在列表中时,是无法排序的
li=[1, \'goo\', \'orz\', \'ccorz\', \'python\', \'haha\',2,3,6] li.sort()
File "C:/Users/Shane/PycharmProjects/test/111111.py", line 79, in <module> li.sort() TypeError: unorderable types: str() < int()
其实sorted,http://blog.chinaunix.net/uid-20775448-id-4222915.html 这有具体的说明,慢慢研究
字符串的合并
都说是万恶的加号‘+’,能不用就不用,那就用join,对象可谓字符串,列表等等
a=\'x\'.join(\'abc\') #前面是字符串连接字符或者符号,后面是字符串 print(a)
li=[\'goo\', \'orz\', \'ccorz\', \'python\', \'haha\']
print(\'x\'.join(li))
axbxc
gooxorzxccorzxpythonxhaha
字典
dict.items() 数据量较大时比较耗时,故不推荐使用,需要注意的是,items() keys() values() 返回值都是一个列表
d1={\'name\':\'ccorz\',\'age\':18,\'company\':\'it\'} d2=d1.items() print(d1) print(d2)
结果:
{\'company\': \'it\', \'age\': 18, \'name\': \'ccorz\'}
dict_items([(\'company\', \'it\'), (\'age\', 18), (\'name\', \'ccorz\')])
dic.setdefault(‘asdfsad’,’test‘) 如果没有key,设置一个对应value,如果存在,返回其key的值
d1={\'name\':\'ccorz\',\'age\':18,\'company\':\'it\'} res=d1.setdefault(\'123\') print(res) res2=d1.setdefault(\'xxxx\',\'1111\') print(res2) print(d1) res3=d1.setdefault(\'name\',\'shane\') print(res3)
结果:
None 1111 {\'company\': \'it\', \'xxxx\': \'1111\', \'age\': 18, \'name\': \'ccorz\', \'123\': None} ccorz
dic.fromkeys([1,2,3,4],’test’) 只是借用字典这个导入,对原来字典并没什么卵用
d1={\'name\':\'ccorz\',\'age\':18,\'company\':\'it\'} res=d1.fromkeys((1,2,3,1),\'test\') print(res) #只是借用字典的功能而已 print(d1) #结果并没改变原来的字典
结果:
{1: \'test\', 2: \'test\', 3: \'test\'} {\'name\': \'ccorz\', \'age\': 18, \'company\': \'it\'}
dic.pop(’testkey’) 删除key以及对应的值 等同于del dic(’testkey’)
d1={\'name\':\'ccorz\',\'age\':18,\'company\':\'it\'} d1.pop(\'name\') print(d1)
结果:
{\'company\': \'it\', \'age\': 18}
退出操作时,可用exit(\'bye!baby....\')直接显示回显
exit(\'bye.11.....\')
bye.11.....
运算符优先级别:基本和数学算法类似,再不济我就加圆括号可好。。。。。。。,不抄了,直接扣图。。。。
最后有一个比较有趣的,记录下来,以后判断类型要用type,不能直接用变量或者字符串直接判断
a=[1,2,3,5,] print(a is list) print(type(a) is list) print(\'333\' is str) print(type(\'333\') is str)
注意看结果:
False
True
False
True
基本就这些了,打完,收工。。。。。
以上是关于python学习之Day2的主要内容,如果未能解决你的问题,请参考以下文章