百科狗-知识改变命运!
--

python字符串和Java字符串

是丫丫呀1年前 (2023-11-21)阅读数 9#技术干货
文章标签字符串

接下来,又到了Python字符串与Java字符串PK的时刻。

Java中有比较字符串的方法,即compareTo()方法与equals()方法,前一个方法逐一比较两个字符串的字符编码,返回一个整型的差值,后一个方法在整体上比较两个字符串的内容是否相等。

Python字符串没有这两个单独的方法,但要实现类似的功能却很简便。先看例子:

myName="Python猫"

cmpName="world"

python字符串和Java字符串

newName=myName

#直接用比较符号进行compare

myName>cmpName

>>>False

myName==newName

>>>True

cmpName!=newName

>>>True

#比较是否同一对象

myNameiscmpName

>>>False

myNameisnewName

>>>True

上例中,如果把赋值的字符串换成列表或者其它对象,这些比较操作也是可以进行的。也就是说,作比较的能力是Python公民们的一项基本能力,并不会因为你是字符串就给你设限,或者给你开特权。

与此类似,Python公民们自带求自身长度的能力,len()方法是内置方法,可以直接传入任意序列参数,求解长度。Java中则要求不同的序列对象,只能调用各自的length()方法。说个形象的比喻,Python中共用一把秤,三教九流之辈都能拿它称重,而Java中有多把秤,你称你的,我称我的,大家“井水不犯河水”。

Python中曾经有cmp()方法和__cmp__()魔术方法,但官方嫌弃它们鸡肋,所以在Python3中移除掉了。虽然在operator模块中还为它留下了一脉香火,但保不定哪天就会彻底废弃。

importoperator

operator.eq('hello','name')

>>>False

operator.eq('hello','hello')

>>>True

operator.gt('hello','name')

>>>False

operator.lt('hello','name')

>>>True

(3)墙上的门

在Java中,字符串还有一个强大的valueOf()方法,它可以接收多种类型的参数,如boolean、char、char数组、double、float、int等等,然后返回这些参数的字符串类型。例如,要把int转为字符串,可以用String.valueOf(anynum)。

Python字符串依然没有这个单独的方法,但要实现相同的功能却很简便。对Python来说,不同的数据类型转换成字符串,那是小菜一碟,例如:

str(123)>>>'123'

str(True)>>>'True'

str(1.22)>>>'1.22'

str([1,2])>>>'[1,2]'

str({'name':'python','sex':'male'})

>>>"{'name':'python','sex':'male'}"

而从字符串转换为其它类型,也不难,例如,int('123')即可由字符串'123'得到数字123。对比Java,这个操作要写成Integer.parseInt('123')。

在Java的不同数据类型之间,那道分隔之墙矗立得很高,仿佛需要借助一座更高的吊桥才能沟通两边,而在灵活的Python里,你可以很方便地打开墙上的那扇门,来往穿越。

跟Java相比,Python字符串确实没有几项方法,但是事出有因,它们的天赋能力可不弱,所有这些操作都能简明地实现。一方面,Python字符串做不到某些事,但是另一方面,Python可以出色地做成这些事,孰优孰劣,高下立判。

以上内容为大家介绍了python字符串和Java字符串,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)