向python3进发
在Python2.x中,交互输入有input和raw_input两种方法
- input-----------tmd是个坑,就别用
- raw_input------把输入无论是Int或str都当做是str处理,加入要取到数字,需要强制类型转化
在Python3.x中,只有input方法,但是效果跟Python2.x的raw_input一样一样的.
#python2.x
>>> s = int(raw_input('input:'))
input:a
>>> type(s)
<type 'str'> >>> s = raw_input('input:')
input:
>>> type(s)
<type 'str'>
>>> score = int(raw_input('input:'))
input:
>>> type(score)
<type 'int'> #python3.x (python 3.x 一切皆类型....看type输出.....)
>>> s = int(input('input:'))
input:a
>>> type(s)
<class 'str'> >>> s = input('input:')
input:
>>> type(s)
<class 'str'> >>> score = int(input('input:'))
input:
>>> type(score)
<class 'int'>
一种不常见的格式化输出:
>>> info='''
... ---------info---------
... name:{_name}
... age:{_age}
... '''.format(_name='zwj',_age=26)
>>> print (info) ---------info---------
name:zwj
age:26
>>> print ('name:{name},age:{age}'.format(name='zwj',age=11))
name:zwj,age:11
一个可以密文输入的模块getpass
>>> import getpass
>>> username = input('username:')
username:zwj
>>> password = getpass.getpass('password:')
password:
>>> print ('user:%s,pwd:%s'%(username,password))
user:zwj,pwd:mima
>>>
Python3的keys(), values(), items()返回的都是迭代器,如果需要像Python2一样返回列表,只要传给list就行了(Python2中iteritems()方法同样返回迭代器,Python3中已经移除)
>>> import sys
>>> sys.version
'3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
>>> d={'k1':'v1','k2':'v2'}
>>> print (d.keys(),d.values(),d.items())
dict_keys(['k1', 'k2']) dict_values(['v1', 'v2']) dict_items([('k1', 'v1'), ('k2', 'v2')])
>>> print (list(d.keys()),list(d.values()),list(d.items()))
['k1', 'k2'] ['v1', 'v2'] [('k1', 'v1'), ('k2', 'v2')]
>>>
除法运算
>>> a=3
>>> b=2
>>> a/b #默认浮点
1.5
>>> a//b #取整
1
>>> a%b
1
>>> b%a
2
>>> b/a
0.6666666666666666
>>> c=5
>>> d=7
>>> c//7
一个可以密文输入的模块getpass
>>> import getpass
>>> username = input('username:')
username:zwj
>>> password = getpass.getpass('password:')
password:
>>> print ('user:%s,pwd:%s'%(username,password))
user:zwj,pwd:mima
>>>
Python3的keys(), values(), items()返回的都是迭代器,如果需要像Python2一样返回列表,只要传给list就行了
>>> import sys
>>> sys.version
'3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
>>> d={'k1':'v1','k2':'v2'}
>>> print (d.keys(),d.values(),d.items())
dict_keys(['k1', 'k2']) dict_values(['v1', 'v2']) dict_items([('k1', 'v1'), ('k2', 'v2')])
>>> print (list(d.keys()),list(d.values()),list(d.items()))
['k1', 'k2'] ['v1', 'v2'] [('k1', 'v1'), ('k2', 'v2')]
>>>
除法运算
>>> a=3
>>> b=2
>>> a/b #默认浮点
1.5
>>> a//b #取整
1
>>> a%b
1
>>> b%a
2
>>> b/a
0.6666666666666666
>>> c=5
>>> d=7
>>> c//7
位运算
>>> a=60 #60 = 0011 1100
>>> b=13 #13 = 0000 1101
>>> a&b #12 = 0000 1100
12
>>> a|b #61 = 0011 1101
61
>>> a^b #49 = 00110001
49
>>> ~a #-61 = 1100 0011
-61
>>> a<<2 #240 = 1111 0000
240
>>> a>>2 #15 = 0000 1111
15
>>>
try/except/else/finaly
>>> print (1)
1
>>> try:
print (1)
except:
print (2)
else:
print (3)
finally:
print (4) 1
3
4 ----------------
>>> try:
print (x)
except:
print (2)
else:
print (3)
finally:
print (4) 2
4
给字典排序
from heapq import nsmallest,nlargest l = [
{
'name':'good4',
'increase': 69,
'price': 20,
},
{
'name':'good1',
'increase': 45,
'price': 20,
},
{
'name':'good2',
'increase': 59,
'price': 24,
},
{
'name':'good3',
'increase': 18,
'price': 10,
},
] r = nsmallest(3,l,key=lambda s:(s['price'],s['increase']))
print(r)
print(r[0]) r = nlargest(3,l,key=lambda s:(s['price'],s['increase']))
print(r)
print(r[0]) out:
[{'price': 10, 'name': 'good3', 'increase': 18}, {'price': 20, 'name': 'good1', 'increase': 45}, {'price': 20, 'name': 'good4', 'increase': 69}]
{'price': 10, 'name': 'good3', 'increase': 18}
[{'price': 24, 'name': 'good2', 'increase': 59}, {'price': 20, 'name': 'good4', 'increase': 69}, {'price': 20, 'name': 'good1', 'increase': 45}]
{'price': 24, 'name': 'good2', 'increase': 59}
向python3进发的更多相关文章
- python3 threading初体验
python3中thread模块已被废弃,不能在使用thread模块,为了兼容性,python3将thread命名为_thread.python3中我们可以使用threading进行代替. threa ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- Mac-OSX的Python3.5虚拟环境下安装Opencv
Mac-OSX的Python3.5虚拟环境下安装Opencv 1 关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2 概述 本文是一篇 环境搭建 的基础 ...
- Ubuntu部署python3.5的开发和运行环境
Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...
- Python3 登陆网页并保持cookie
网页登陆 网页登陆的原理都是,保持一个sessionid在cookie然后,根据sessionid在服务端找到cookie进行用户识别 python实现 由于python的简单以及丰富的类库是开发网络 ...
- 阿里云 SDK python3支持
最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...
- python3爬取1024图片
这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章.各种开源软件.各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作 ...
- CentOS7中安装Python3.5
1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. 安装相关依赖 yum install gcc ope ...
- 使用virtualenv搭建python3开发环境
问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...
随机推荐
- extern用法汇总
extern 在源文件A里定义的函数,在其他源文件中是看不见的(即不能訪问).为了在源文件B里能调用这个函数,应该在B的头部加上一个外部声明: extern 函数原型: 这样,在源文件B里也能够调 ...
- 用css样式围剿等高列问题(转载)
明修栈道暗度陈仓 该秘籍的心法只有十二个字:”隐藏容器溢出,正负内外边距.”看完下面的几行代码,再看这句话你真的可以看到圣光! 隐藏容器溢出.将外层容器的溢出设为隐藏: .container { ov ...
- Linux下查看MySQL的安装路径
Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root ? :: /bin/sh /usr/ ...
- go orcale
golang连接orcale 使用glang有一段时间了,最开始其实并不太喜欢他的语法,但是后来熟悉之后发现用起来还挺爽的.之前数据库一直使用mysql,连接起来没有什么问题,github上有很多 ...
- 开源Asp.Net MVC网上商城BrnShop
开源Asp.Net MVC网上商城BrnShop正式发布,提供源码下载 BrnShop网上商城是以Asp.Net mvc3为基础开发的网上商城,源代码完全开源(企业版的源代码目前还没有完全整理完成,一 ...
- Effective C++(17) 以独立语句将newed对象置入智能指针
问题聚焦: 使用了资源管理对象(如智能指针),就一定是安全的吗?显然不是. 资源泄露发生可能在于,在“资源被创建”和“资源被转换为资源管理对象”两个时间点之间有可能发生异常干扰. 看下 ...
- STL非变易算法 - STL算法
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1394600460.html 原创:ST ...
- Knockout 可扩展性
你需要知道的顶级特性 Knockout 最棒的一个特点就是它的可扩展性.Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序.许多开发者除了 Knockout 核心库之外没有使用任何 ...
- seajs代码
打包并压缩seajs代码 背景 seajs是一款优秀的模块开发插件,但是当我们使用它来进行模块化开发的时候,由于它的每个模块的加载都会进行一次http请求,那么当模块数量倍增的时候,会拖慢页面的加载速 ...
- Object-c学习之路四(oc内存管理autorelease)
再以Student和Book为例作为展示: 1.主函数: // main.m // MemoryManagement2 // // Created by WildCat on 13-7-24. // ...