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的主要内容,如果未能解决你的问题,请参考以下文章

python学习之day2

Python学习之day2

Python的学习之-变量常量程序交互数据类型

Python学习之String模块详解

Python学习之元组

python 学习day2