学习过程中,难免会遇到一些冷门的小知识点,熟悉这些小知识可以在工作中达到事半功倍的效果,尽力消除自己的知识盲区。总之当时的自己花了不少功夫去解决这些问题,因此觉得有必要单独记录下来,以后也许会再遇到,温故而知新。

PS:此文不断更新。。

-----------------------------------------------------------------------------------------------------------------------------------

1.python多版本共存(Windows系统下)

    由于本地已经安装了python3.6.4,故再安装python2.7及3.7.1版本共存。

    安装完毕后,3.7.1版本安装目录下文件如图,2.7同理。

    

    配置环境变量,将两个版本安装目录及安装目录下的script目录加入环境变量,如图所示。(环境变量中位置靠上的python版本即为本机的python解释器的默认版本)

    

    此时,3个版本中均包含名为python.exe的解释器应用程序,因此在任务管理器中调用python解释器功能时,只能使用默认版本的python解释器。此时,到新安装的3.7.1及2.7版本的python目录下,将python.exe复制,改名为python37.exe(版本号,2.7同理),将script下pip.exe复制,改名为  pip37.exe(版本号,2.7同理),如图:

    

     改名成功后测试,成功。

    

2.python2版本和python3版本区别

    2.1 规范性

      1)、在大的环境下,Python2含有PHP、Java、C等语言的规范陋习。(Python是一门开源的语言,任何人都可以贡献代码,但是每个人上传的代码规范都不相同。)

      2)、Python2里面重复的代码特别多。

      3)、Python3编码规范、清晰、简单,符合Python的宗旨。

    2.2 编码

      1)、Python2默认编码是ASCII,只能显示英文,显示中文会报错。想让Python2显示中文,就需在首行添加“# -*- encoding:utf-8 -*-”。

      2)、Python3的默认编码就是utf-8,中文和英文都能支持。

    2.3 语法

      1)、用户交互:Python2的语法是“ raw_input”,而Python3的语法是“input”。

    2.4 数据类型

      1)、Python2里既有 int 类型又有 long int 类型,而Python3里只有 int 类型。

3. eval()  

  官方文档里面给出来的功能解释是:将字符串string对象转化为有效的表达式参与求值运算返回计算结果

  背景:在做一个程序,语义分析的,把一个运算符( > , < , = )存在了变量里,之后想用该变量里的运算符去做逻辑运算,故用到了eval。

a = 5
b = 6
c = '>'
if eval('%s%s%s' % (a, c, b)):
print ('Impossible')
else:
print('')

  运行结果:

4. for ... else ...  

在for执行完成且中间没有被break的情况下,才执行else( while ... else ...同理)

for i in range(3):
print(i)
else:
print('else执行!')

  运行结果:

5. python中关键字

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'exec', 'finally', 'for', 'from',
'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print','raise', 'return', 'try', 'while', 'with', 'yield']

6. 针对逻辑运算的进一步研究

    1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    2 ,  x or y , x为真,值就是x,x为假,值是y,x和y都为假,值是y;x and y, x为真,值是y,x为假,值是x。

    例:求出下列逻辑语句的值。

      8 or 4      结果:8
      0 and 3   结果:0
      0 or 4 and 3 or 7 or 9 and 6     结果:3
1判断下列逻辑语句的True,False.
1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
F or T or F and T and T or F -> True
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
F and T or F and T and T or F -> F or F or F -> False 2.求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7
8 or 4 or 0 or 7 -> 8
2),0 or 2 and 3 and 4 or 6 and 0 or 3
0 or 4 or 0 or 3 -> 4 3.下列结果是什么?
1)、6 or 2 > 1 6
2)、3 or 2 > 1 3
3)、0 or 5 < 4 False
4)、5 < 4 or 3 3
5)、2 > 1 or 6 True
6)、3 and 2 > 1 True
7)、0 and 3 > 1 0
8)、2 > 1 and 3 3
9)、3 > 1 and 0 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
T and 2 or T and 3 and 4 or T -> 2 or 4 or T -> 2

一些小练习

7. 元组的类型(一道面试题)

  当元组中只含有一个元素时,元组的类型是该元素的类型。

>>print(type((1)))
int
>>print(type(("str")))
str

Python之——遇到的小知识点总结的更多相关文章

  1. Python之路番外:PYTHON基本数据类型和小知识点

    Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and ...

  2. Python之路番外(第二篇):PYTHON基本数据类型和小知识点

    一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...

  3. python应用中的小知识点

    1.with有什么作用 with的作用是自动管理上下文打开关闭文件的时候,可以用with,文件对象不再使用的时候,会自动给我们关闭,不需手动关闭了数据库连接的时候, 2.没有import的模块怎么快速 ...

  4. python中的小知识点

    这里是一些小知识点的汇集,为的是以后查找的方便. 行与缩进: 物理行:实际看到的代码行数. 逻辑行:在意义上的函数(即解释器执行的行数) 如果一个物理行中包含了多个逻辑行,则每个逻辑行之间需要用分号 ...

  5. python小知识点总结

    小知识点总结 1.python2和python3的区别   python2 python3 默认编码 ascii utf-8 input() raw_input() input() print 可以不 ...

  6. Python之路3【知识点】白话Python编码和文件操作

    Python文件头部模板 先说个小知识点:如何在创建文件的时候自动添加文件的头部信息! 通过:file--settings 每次都通过file--setings打开设置页面太麻烦了!可以通过:View ...

  7. 小知识点--crontab

    前言 这两周学了很多东西,还把golang语言基本掌握了,收获还是挺多的.在做安全的过程中,有很多需要定时执行的任务,比如抓取主机数量,端口数据等,这都逃不开linux中的crontab命令,今天分享 ...

  8. linux系统下用到的小知识点积累

    preface:在ubuntu下做事情,在终端下执行一些命令.或者在vim里面做一些操作.自然而然须要用到一些小知识点,没有怎么系统地看<鸟哥的菜>,基本上是遇到了什么问题想要实现什么功能 ...

  9. Python 入门必学经典知识点笔记【肯定有你不知道的】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:实验楼 Python 作为近几年越来越流行的语言,吸引了大量的学员开始学 ...

随机推荐

  1. Ubuntu16.04 和 hadoop2.7.3环境下 hive2.1.1安装部署

    参考文献: http://blog.csdn.NET/reesun/article/details/8556078 http://blog.csdn.Net/zhongguozhichuang/art ...

  2. C# 解析excel时,字段内有内容,却读取不到的解决方法

    C# 解析excel时,字段内有内容,却读取不到的解决方法:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ...

  3. URL的应用

    1.对于Android来说,开发应用都会去访问服务器地址,那么就要连网,需要通过URL. 先new一个URL来获取路径,然后利用HttpURLConnection来连接并打开url,并通过get 请求 ...

  4. Python模块之virtualenvwrapper

    Python的virtualenv工具可以创建隔离的Python环境, virtualenvwrapper是virtualenv的进一步封装工具,可以让它更好用. 安装 Linux 系统下: pip ...

  5. 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框

    我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...

  6. Django 数据库操作进阶F和Q操作

    Model中的F F 的操作通常的应用场景在于:公司对于每个员工,都涨500的工资.这个时候F就可以作为查询条件 1 2 3 from django.db.models import F models ...

  7. day40 python MySQL【四】 之 【索引】【视图】【触发器】【存储过程】【函数】

    MySQL[四] 之 [索引][视图][触发器][存储过程][函数]   1.索引 索引相当于图书的目录,可以帮助用户快速的找到需要的内容. 数据库利用各种各样的快速定位技术,能够大大提高查询效率.特 ...

  8. git server side hook 试用

    git 的hook 是一个很方便的功能,我们可以使用hook 做好多处理,比如client side hook 进行 提交格式校验,server side 进行ci/cd 处理 测试使用docker- ...

  9. mac系统下 Homebrew 使用

    brew 又叫 Homebrew,是一款Mac OS平台下的软件包管理工具. brew 常用命令: 命令 作用 brew install [package] 安装包 brew uninstall [p ...

  10. JUC集合之 JUC中的集合类

    Java集合包 在"Java 集合系列01之 总体框架"中,介绍java集合的架构.主体内容包括Collection集合和Map类:而Collection集合又可以划分为List( ...