这篇文章主要介绍了Python易忽视知识点,实例分析了Python中容易被忽视的常见操作技巧,需要的朋友可以参考下
这里记录Python中容易被忽视的小问题
一、input(…)和raw_input(…)
#简单的差看帮助文档input(...)和raw_input(...)有如下区别` `>>> help(input)` `Help on built-in function input in module __builtin__:` `input(...) `` input([prompt]) -> value ``Equivalent to eval(raw_input(prompt)).` `>>> help(raw_input)` `Help on built-in function raw_input in module __builtin__:` `raw_input(...) `` raw_input([prompt]) -> string `` Read a string from standard input. The trailing newline is stripped. `` If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. `` On Unix, GNU readline is used if enabled. The prompt string, if given, `` is printed without a trailing newline before reading. ``#可见 input会根据输入的内容eval结果来返回值,即输入纯数字,则得到的就是纯数字` `# raw_input返回的才是字符串` `#test:``>>> a = input("输入数字")` `输入数字1``>>> type(a)` `<type 'int'>` `>>> b=raw_input("输入数字")` `输入数字1``>>> type(b)` `<type 'str'>
ps:在python3.0以后的版本中,raw_input和input合体了,取消raw_input,并用input代替,所以现在的版本input接收的是字符串
二、python三目运算符
虽然Python没有C++的三目运算符(?😃,但也有类似的替代方案,
那就是
1、 true_part if condition else false_part
>>> 1 if True else 0``1``>>> 1 if False else 0``0``>>> "True" if True else "False"``'True'``>>> "True" if True else "False"``'Falser'
2、 (condition and [true_part] or [false_part] )[0]
`>>> (True and ["True"] or ["False"])[0]` `'True'``>>> (False and ["True"] or ["False"])[0]` `'False'``>>>`
三、获得指定字符串在整个字符串中出现第N次的索引
# -*- coding: cp936 -*-` `def findStr(string, subStr, findCnt): `` listStr = a.split(subStr,findCnt) `` if len(listStr) <= findCnt: `` return -1` `return len(string)-len(listStr[-1])-len(subStr)` `#test` `a = "12345(1)254354(1)3534(1)14"``sub = "(1)"``N = 2 #查找第2次出现的位置` `print findStr(a,sub,N)` `N = 10 #查找第10次出现的位置` `print findStr(a,sub,N)` `#结果` `#>>>` `#14` `#-1
四、enumerate用法:
遍历序列的时候,可能同时需要用到序列的索引和对应的值,这时候可以采用enumerate方法进行遍历
enumerate的说明如下:
>>> help(enumerate)` `Help on class enumerate in module __builtin__: ``class enumerate(object) `` | enumerate(iterable[, start]) -> iterator for index, value of iterable `` | `` | Return an enumerate object. iterable must be another object that supports `` | iteration. The enumerate object yields pairs containing a count (from` `| start, which defaults to zero) and a value yielded by the iterable argument.`` | enumerate is useful for obtaining an indexed list: `` | (0, seq[0]), (1, seq[1]), (2, seq[2]), ... `` | `` | Methods defined here: `` | `` | __getattribute__(...) `` | x.__getattribute__('name') <==> x.name `` | `` | __iter__(...) `` | x.__iter__() <==> iter(x) `` | `` | next(...) `` | x.next() -> the next value, or raise StopIteration `` | `` | ----------------------------------------------------------------------` `| Data and other attributes defined here:`` | `` | __new__ = <built-in method __new__ of type object> `` | T.__new__(S, ...) -> a new object with type S, a subtype of T
五、遍历序列的方法
`>>> List = ['a','b','c']` `>>> for index, value in enumerate(List): ``print index, value` `0 a` `1 b` `2 c` `>>>`
六、使用python random模块的sample函数从列表中随机选择一组元素
import``List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` `slice = random.sample(List, 5)``#从List中随机获取5个元素,作为一个片断返回` `print slice` `print List #原有序列并没有改变。
七、用json打印包含中文的列表字典等
# -*- coding:utf-8 -*-` `import json` `#你的列表` `listA = [{'path': ['[AWS] \xe7\xbe\x8e\xe5\xb0\x91\xe5\xa5\xb3\xe6\x88\x98\xe5\xa3\xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 1080p x264 AAC][6E5CFE86].mp4'], 'length': 131248608L}, {'path': ['[AWS] \xe7\xbe\x8e\xe5\xb0\x91\xe5\xa5\xb3\xe6\x88\x98\xe5\xa3\xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 720p x264 AAC][639D304A].mp4'], 'length': 103166306L}, {'path': ['[AWS] \xe7\xbe\x8e\xe5\xb0\x91\xe5\xa5\xb3\xe6\x88\x98\xe5\xa3\xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 480p x264 AAC][5A81BACA].mp4'], 'length': 75198408L}]``#打印列表``print json.dumps(listA, encoding='UTF-8', ensure_ascii=False)
输出结果:
>>>` `[{"path": ["[AWS] 美少女战士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 1080p x264 AAC][6E5CFE86].mp4"], "length": 131248608}, {"path": ["[AWS] 美少女战士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 720p x264 AAC][639D304A].mp4"], "length": 103166306}, {"path": ["[AWS] 美少女战士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 480p x264 AAC][5A81BACA].mp4"], "length": 75198408}]
以上就是“python基础教程:易忽视知识点小结”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。