设为首页 收藏本站
查看: 783|回复: 0

[经验分享] python基本类型学习

[复制链接]

尚未签到

发表于 2017-4-24 09:12:09 | 显示全部楼层 |阅读模式
  由于先前的java烙印,学习python的时候会时不时的与java来个比较,我想,这也是一种好的学习方式,但有可能把两种语言揉的太紧。时刻要注意,python is not java and don't use python just as java。
  来学习python的内置类型,一定要区分java的简单类型,python的内置类型也是对象(python is a pure OO language)。
  数字类型
  python 支持各种常见的数字对象,如整数、浮点数等,此外还支持更加复杂的数据类型,如无限精确整数、复数。下面就与java的数字类型(在java中,简单的数字类型不是对象形式的,不过可以把他们封装成对象,在java 1.5以上,已经提供了自动的“装箱”和“拆箱”),在进行比较学习中,要注意,python的是对象,java的不是对象。
  一般整数
  python的一般整数就相当于java的int数,如12312323, -10, 0等,占4 byte,应该知道最大能达到多少了吧。在python中,没有像java那样更加细化的short(2 byte)和byte类型。
  长整数
  java的长整型占8 byte,如231893182123L(注意这个“L”不能省),pyhon中,长整形可以定义无限大,甚至占用整个内存,形式也是128912381283L这个样子,“L”不能省的。
  浮点数
  python的浮点数只有一种,就叫浮点数,如1.234, 3.14e-10, 4E210等(注意e和E,意义不同),java中浮点数分float型,4 byte,单精度;double型, 8 byte,双精度。
  其他进制(八进制和十六进制)
  python和jiava的表示方法一致,对于八进制,四个数字一组,第一个数字为0,如0123(十进制为83), 01230123(十进制为340051)。十六进制,不分组,前两位为0x,如0x1234,0xab157。
  复数
  对于这样的类型,java没有提供。python中,复数形式如3+4j,-3J等(j和J都行)。
  字符类型
  java提供了字符类型char, 2byte,python中没有提供,但它提供了强大的string类型。
  布尔类型
  java提供了简单的布尔类型boolean,值为true或false,python的布尔类型值可以是True或False(注意与java的大小写区别),也可以是0或1。
  对于java,它的变量必须先声明在使用,而在python中,由于Anything is Object,变量只是一个指针,所以可以随意使用,不需声明,而且python是一种“弱类型”语言,如下:
python 代码

  • >>> i = 213   
  • >>> print i   
  • 213   
  • >>> i = 1231321342L   
  • >>> print i   
  • 1231321342   
  • >>> i = 4E-5   
  • >>> print i   
  • 4e-005   
  • >>> i = 0xab413   
  • >>> print i   
  • 701459   
  • >>> i = 7 -3j   
  • >>> print i   
  • (7-3j)   
  • >>> i = True  
  • >>> print i   
  • True  

  怎么样,这里只有一个变量i,却被赋予了n中类型,实际上,i就是一个指针,它不会具有任何意义。
  字符串
  java中的字符串就不说了,python的字符串也差不多,就是一旦建立,就不可变了。通过例子学吧,这些例子都是《learning Python》上的,都很classical。
python 代码

  • >>> len('abc')   
  • 3   
  • >>> s = 'abc' + 'def'   
  • >>> s   
  • 'abcdef'   
  • >>> 'ha'*4   
  • 'hahahaha'   
  • >>> for c in s:   
  •     print c   
  •   
  • a   
  • b   
  • c   
  • d   
  • e   
  • f   
  • >>> for c in s:   
  •     print c,   
  •   
  •        
  • a b c d e f   
  • >>> 'd' in s   
  • True  
  • >>> s[3]   
  • 'd'   
  • >>> s[-2]   
  • 'e'   
  • >>> s[1:4]   
  • 'bcd'   
  • >>> s[:-2]   
  • 'abcd'   
  • >>> s[2:]   
  • 'cdef'   
  • >>> s[2] = 'f'   
  •   
  • Traceback (most recent call last):   
  •   File "<pyshell#31>", line 1, in <module>   
  •     s[2] = 'f'   
  • TypeError: 'str' object does not support item assignment   
  • >>> s = s + 'g'   
  • >>> ''' this is  
  • a multi-line block'''  
  • ' this is\na multi-line block'   
  • >>> s = 'abc' 'def' 'xyz'   
  • >>> s   
  • 'abcdefxyz'  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368432-1-1.html 上篇帖子: Python随笔之Django安装 下篇帖子: VM,vim和python的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表