精华内容
下载资源
问答
  • Python 字符串

    2020-11-03 15:42:41
    2.不可变 3.用"" ‘’ ‘" "’ 括起来 字符串操作 1.将字符串中每个英文单词首字母大写输出 str="python is best" print(str.title()) >>>Python Is Best 2.字符串中所有字母的大小写转化 1.全部转化...

    什么是字符串?

    1.字符串就是连续的字符序列,由数字,字母和符号组成
    2.不可变
    3.用"" ‘’ ‘" "’ 括起来

    字符串操作

    1.将字符串中每个英文单词首字母大写输出

    str="python is best"
    print(str.title())
    >>>Python Is Best
    

    2.字符串中所有字母的大小写转化

    1.全部转化为大写

    str="python is best"
    print(str.upper())
    

    2.全部转化为小写

    print(str.lower())
    

    3.字符串合并

    使用+来合并

    first_str='Python'
    last_str=' good job'
    str=first_str+last_str
    print(str)
    >>>Python good job
    

    4.删除字符串的空白

    使用rstrip()去掉字符串末尾的空白

    str=' python '
    print(str.rstrip())
    

    使用lstrip去掉字符串开头的空白

    str=' python '
    print(str.lstrip())
    

    使用strip去掉字符串两端的空白

    str=' python '
    print(str.strip())
    
    展开全文
  • python字符串入门一丶字符串的驻留机制1.什么是字符串驻留机制呢?2.驻留机制的几种情况(交互模式)3.驻留机制的优缺点二丶字符串的常用操作1.字符串的查询2.字符串的大小写转换3.字符串内容对齐4.字符串劈分5.判断...

    一丶字符串的驻留机制

    1.什么是字符串驻留机制呢?

    在这里插入图片描述

    2.驻留机制的几种情况(交互模式)

    在这里插入图片描述

    3.驻留机制的优缺点

    在这里插入图片描述

    二丶字符串的常用操作

    1.字符串的查询

    在这里插入图片描述

    2.字符串的大小写转换

    在这里插入图片描述

    3.字符串内容对齐

    在这里插入图片描述

    4.字符串劈分

    在这里插入图片描述

    5.判断字符串

    在这里插入图片描述

    6.字符串的替换,合并

    在这里插入图片描述

    7.字符串的比较

    在这里插入图片描述

    三丶字符串的切片操作

    1.字符串是不可变类型

    在这里插入图片描述

    2.实操演练

    在这里插入图片描述

    四丶格式化字符串

    1.为什么需要格式化字符串

    在这里插入图片描述

    2.格式化的两种方式

    在这里插入图片描述

    3.实操演练

    在这里插入图片描述

    五丶字符串的编码转换

    1.为什么需要字符串的编码转换

    在这里插入图片描述

    2.实操演练

    在这里插入图片描述

    六丶总结

    在这里插入图片描述

    七丶python学习传送门

    python快速入门-从零开始学python

    展开全文
  • 使用 format 而不是 “+” 来生成字符串 —— 在Python中,str 是不可变的,所以每对连接都必须将左、右字符串复制到新的字符串中。如果连接长度10的四个字符串,则将复制(10+10) + ((10+10)+10) + (((10+10)+10)+...

    使用 format 而不是 “+” 来生成字符串 —— 在Python中,str 是不可变的,所以每对连接都必须将左、右字符串复制到新的字符串中。如果连接长度为10的四个字符串,则将复制(10+10) + ((10+10)+10) + (((10+10)+10)+10) = 90 个字符,而不是 40 字符。随着字符串数量和大小的增加,事情会变得越来越糟。Java 有时将一系列的连接转换为使用StringBuilder 来优化这种情况,但是 CPython 没有。因此,建议使用 .format 或 % 语法。

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    原文出处: Hollis(@Hollis_Chuang)

    String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。不可变类有很多优势。本文总结了为什么字符串被设计成不可变的。将涉及到内存、同步和数据结构相关的知识。

    字符串池

    字符串池是方法区中的一部分特殊存储。当一个字符串被被创建的时候,首先会去这个字符串池中查找,如果找到,直接返回对该字符串的引用。

    下面的代码只会在堆中创建一个字符串

    1
    2
    String string1 =  "abcd" ;
    String string2 =  "abcd" ;

    下面是图示:

    string

    如果字符串可变的话,当两个引用指向指向同一个字符串时,对其中一个做修改就会影响另外一个。(请记住该影响,有助于理解后面的内容)

    缓存Hashcode

    Java中经常会用到字符串的哈希码(hashcode)。例如,在HashMap中,字符串的不可变能保证其hashcode永远保持一致,这样就可以避免一些不必要的麻烦。这也就意味着每次在使用一个字符串的hashcode的时候不用重新计算一次,这样更加高效。

    在String类中,有以下代码:

    1
    private  int  hash; //this is used to cache hash code.

    以上代码中hash变量中就保存了一个String对象的hashcode,因为String类不可变,所以一旦对象被创建,该hash值也无法改变。所以,每次想要使用该对象的hashcode的时候,直接返回即可。

    使其他类的使用更加便利

    在介绍这个内容之前,先看以下代码:

    1
    2
    3
    4
    5
    6
    7
    HashSet<String> set =  new  HashSet<String>();
    set.add( new  String( "a" ));
    set.add( new  String( "b" ));
    set.add( new  String( "c" ));
     
    for (String a: set)
         a.value =  "a" ;

    在上面的例子中,如果字符串可以被改变,那么以上用法将有可能违反Set的设计原则,因为Set要求其中的元素不可以重复。上面的代码只是为了简单说明该问题,其实String类中并没有value这个字段值。

    安全性

    String被广泛的使用在其他Java类中充当参数。比如网络连接、打开文件等操作。如果字符串可变,那么类似操作可能导致安全问题。因为某个方法在调用连接操作的时候,他认为会连接到某台机器,但是实际上并没有(其他引用同一String对象的值修改会导致该连接中的字符串内容被修改)。可变的字符串也可能导致反射的安全问题,因为他的参数也是字符串。

    代码示例:

    1
    2
    3
    4
    5
    6
    7
    boolean  connect(string s){
         if  (!isSecure(s)) {
    throw  new  SecurityException();
    }
         //如果s在该操作之前被其他的引用所改变,那么就可能导致问题。   
         causeProblem(s);
    }

    不可变对象天生就是线程安全的

    因为不可变对象不能被改变,所以他们可以自由地在多个线程之间共享。不需要任何同步处理。

    总之,String被设计成不可变的主要目的是为了安全和高效。所以,使String是一个不可变类是一个很好的设计。

    问啊-定制化IT教育平台,牛人一对一服务,有问必答,开发编程社交头条 官方网站:www.wenaaa.com 下载问啊APP,参与官方悬赏,赚百元现金。

    QQ群290551701 聚集很多互联网精英,技术总监,架构师,项目经理!开源技术研究,欢迎业内人士,大牛及新手有志于从事IT行业人员进入!


    转载于:https://my.oschina.net/u/2394328/blog/632764

    展开全文
  • Python字符串不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。 为什么要用字符串对象? 答:字符串对象可以存放各种类型的符号,包括包含...
  • 很多人分不清什么是可变类型什么不可变类型。 在此之前,首先需要了解python的基本数据类型有哪些: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) 以上是...
  • 多说,上代码: ...定义了一个位置参数 x,一个一个默认参数 A,A 的默认值空列表,另一个默认参数 B,B 的默认值一个空字符串,在函数体中定义了一个变量 C,并也给 C 传递了一个空列表。 大家猜猜函
  • 字符串和字节串都是不可变序列,不能随意增加和删除数据。 bytes只负责以字节序列的形式(二进制的形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。 ...
  • python不可变数据类型的定义:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,就称不可变数据类型,包括:int(整型)、string(字符串)、tuple(元组) 整型 首先我们来看一下整型...
  • 一、可变和不可变数据类型  在python中,我们对数据类型除了分为数字... 不可变数据类型:数字、字符串、元组。 二、hash  什么是hash呢?  Hash一般译“散列”,也音译“哈希”,就是把任意长度的输...
  • python基础三(字符串)

    2019-09-18 05:38:22
    字符串python不可变的一种数据类型,主要用来表示文本。 1.2创建一个字符串 a是变量名称右边是双引号里的字符,只要是被引号引起的python都会认为是字符串。 这里采用的是单引号,结果和上图双引号完全相同,...
  • 字符串不可变(不支持增删改),有序的(支持下标操作) 字符串中的元素:只能是文本符号(所有计算机能表达出的符号都可以作为字符串的元素),一个符号对应一个元素。 字符串中每个独立的元素又叫字符,python中...
  • 虽然大体知道,不可变数据类型有:整型int、浮点型float、字符串型string和元组tuple。 可变数据类型有::列表list,字典dict和集合。 但是为什么呢?或者说内部原理是啥?我也说不清楚。。。 以下是我搜索后...
  • 》所写,Python字符串是由 Uniocde 编码的字符组成的不可变序列,它具备与其它序列共有的一些操作,例如判断元素是否存在、拼接序列、切片操作、求长度、求最值、求元素的索引位置及出现次数等等。 除此之外,它...
  • 字符串驻留是一种仅保存一份相同且不可变字符串的方法。 Python:超详细的字符串驻留 基本原理: 系统维护interned字典,记录已被驻留的字符串对象。 当字符串对象a需要驻留时,先在interned检测是否存在,若存在则...
  • 一、python中的可变与不可变数据是什么Python中的可变和不可变数据类型的分类依据,指的是保存数据的源内存空间的数据是否允许修改。 1.不可变数据类型 源内存空间中数据不允许修改,如果想要修改,只能开辟新内存...
  • 原因是这样的,Python字符串不可变对象,当用操作符+连接字符串的时候,每执行一次+都会申请一块新的内存,然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因此用+连接字符串的时候会涉及好几次...
  • 什么是可变类型,什么不可变类型呢? 这里所说的是内存地址的可变不可变,在python不可变类型 数字型 字符串 元组 可变类型 字典 列表 那么他们是怎么不可变和可变呢? 当我们定义一个 a = 10 的时候 ...
  • #Python3中的字符串定义

    千次阅读 2018-10-01 15:40:47
    字符串:是以单引号或者双引号括起来的任意文本,字符串不可变,例如: 'abc' &amp;amp;quot;asdada&amp;amp;quot; 2.如果字符串既包含’又包含&amp;amp;quot;怎么办? 这里就要对字符串的特殊...
  • python教程 可变类型与不可变类型

    千次阅读 2019-03-09 14:38:08
    其中不可变类型包括三种:数字类型、字符串类型和元组类型 剩余三种可变类型:列表类型、字典类型和集合类型 什么不可变类型: 当一个变量被赋值后,这个变量所代表的内存块中的数据就已经不可再改变了, 在不可...
  • 字符串是具有特殊含义的符号且字符串的内容属于常量,属于不可变类型。 2、字符串的常见使用方法(字符串可以是被迭代对象且可以通过下标进行访问) 注:python字符串的所有使用方法并不会改变字符串本身的值,...
  • 字符串是常量,是不可变类型,有三种表示方法单引号(’’)、双引号("")、三引号(""")。 2.字符串的常用方法 (1)capitalize() #首字母大写 使用方法如下图 (2)center () #用来居中对齐 使用方法如下图所示...
  • #假设buf里有很多字符串,或者我们可以从buf里提取出来很多字符串,我们需要把这些字符串用...python字符串不可变的,所以每次str += s的时候,都是将str和s拷贝成一个新的字符串,然后赋给str。随着循环的增加,所
  • Python 的内建标准类型有一种分类标准是分为可变类型与不可变类型:可变类型:列表、字典不可变类型:数字、字符串、元组因为变量保存的实际都是对象的引用,所以在给一个不可变类型(比如 int)的变量 a 赋新值的...
  • 1. 什么是对象:python中一切皆对象!—PPT 程序运行当中,所有数据都是储存到内存当中再运行的。 对象就是内存中专门用来存储数据的一块区域。 对象实际上就是一个容器,专门用来存储各种数据.(比如:数值、字符...
  • 字符串与bytes定义区别编码为什么要用编码?bytesbytes的定义bytes的操作bytearraybytearray的定义bytes不可变&bytearray可变使用场景bytearray的方法小结 定义 区别 编码 为什么要用编码? bytes bytes的...
  • 在pyhton中我们学习的对象有数值对象、字符串对象、布尔对象、元组、列表、集合,在这些对象中,有的对象地址是随其值的改变而改变,而有的对象则会随着变量值的改变而发生改变,因此,我们就可以把这些对象进行...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 196
精华内容 78
关键字:

python字符串为什么不可变

python 订阅