Python已经被列入小学三年级的教科书,对于一个多年从事JAVA开发的人,怀着好奇心接触了python, 切实地感受到了python的便捷,虽然入门很简单,但是能写的高效并且充分发挥python的独特性并不容易,所以特意收集了python与众不同之处,来作为python的进阶的文章,从基础的语法到函数、迭代器、类,还有之后系列的线程 / 进程、第三方库、网络编程等内容,期望能共同学习如何写出更加 Pythonic 的代码,部分提炼自书籍:《Python基础教程》《流畅的Python》,但也做出了修改,并加上了我自己的理解和运用中的最佳实践
对String的操作可以分片,通过【startIndex:endIndex】
for example:
分片操作+步长,通过【startIndex:endIndex:步长】
乘法在新序列中的应用
判断字符串包含用in,会直接返回布尔值
test='python'
'pyth' in test
True
in的用法举例,这里可以看到真的是非常方便,其中密码输入处理了下,这样不会明码显示在屏幕上。
列表的内建函数,除了len(Java中的length),还有min和max
numbers=[5,6,1,7,8,9]
max(numbers)
9
列表方法append和extend的区别,另外还有insert,index,count,remove,pop,reverse, sort等方法,使用这些方法远比自己去实现要高效。
append只是追加新元素
extend是可以追加列表
numbers.extend(['python','Hello','World!'])
[5, 6, 1, 7, 8, 9, 'python', 'Hello', 'World!']
newnumber=numbers[0:5]
newnumber.sort()
newnumber
[1, 5, 6, 7, 8]
newnumber.reverse()
newnumber
[8, 7, 6, 5, 1]
同样字符串的反转也可以通过序列轻易实现,记得好多年前面试JAVA工程师时,就遇到了字符串的反转的问题,并且这题目也成了我出的面试题里的一道题:)不过python的面试里肯定不需要这样的面试题了。
test='HelloWorld'
lstest=reversed(list(test))
print(''.join(lstest))
元组是不可变的序列,这个倒是python里的一个题点,python面试里会有序列和元组的区别,但是序列可以通过tuple转化为元组
tuple(newnumber)
(8, 7, 6, 5, 1)