字符串类型

字符串是不可变的数据类型

索引(下标)

我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标,
注意:索引都是从0开始,只有有序的对象才会有索引

切片

只取字符串中某一部分的,就要切片,切片特性:顾头不顾尾
 
name = 'alisa'
print(name[:])
#运行结果:ali 只会取    的下标对应的值

步长

步长是指你取值的间隔长度,例如:
name = 'alisa'
print(name[0:5:2])#隔1个值取一个,若不写,默认1
#运行结果:aia
注意:字符串中可以倒着找

name = 'alisa'
print(name[-1:-5:-1])
#如果你是倒着数,那步长就是负数所以步长是可以控制方向的
#运行结果:asil

字符串的方法

s1 = s.capitalize() 首字母大写
s2 = s.upper() 全部大写
s3 = s.lower() 全部小写
s4 = name.title() 首字母大写,有特殊符号分割的也会大写
s.endswith('x')以什么开始
s.startswith('a') 以什么结尾
s.find('p') 通过元素查找下标,查找到没有的返回-1
s.index('p') 通过元素查找下标,若查找不到就报错
s.format 格式化输出
print('_',join(s))每个s的元素都会加个下划线
s.split('t')以括号里面的来进行分割
s.rstrip() 删除末尾空白
s.lstrip() 删除开头空白
s.strip() 删除两端空格,还会有换行#默认是删除空格\n等,若输入内容,则是清除内容
若想替换所有空格,可以用replace
s.replace('a','s',count) 替换, a 是被 s 替换的,第三个是替换的次数,默认是全部都替换
s.swapcase()括号不用内容,做到大小写转换,把原有字母进行大小写转换
s.isdigit() 判断是不是数字(判断我字符串里的内容是不是纯数字)
s.isalpha() 判断是不是汉字和字母
s.isupper()判断是否是大写
s.islower()判断是否是小写
s.isalnum()判断是不是字母和数字

字符串的定义

1单引号方式

name = 'alisa'
2双引号方式
name = "alisa"
3三引号方式(三个单引号 和三个双引号都可以)
主要用来换行
'''
?能提笔安天下,
武能上?定乾坤.
?存谋略何?胜,
古今英雄唯是君.
'''
4 单双引号混合使用
若字符串内有单引号,那最外层必须用双引号,反之亦然
str1 = "I'm alisa,what's your name?"
str2 = '我选的是"A",你呢'
若字符串内既有双引,又有单引号,则外层用三引号
str3 ='''It's "C",I have "A" and "B"。'''
5字符串的拼接
字符串可以进行加法和乘法
加法(只能是字符串之间进行,不能是不同类型的)

name = 'alisa'
name1 = 'hello,'
print(name1 + name)
运行结果:hello,alisa


乘法(字符串与数字相乘):把原来的字符串进行了10次展示

name = 'alisa'
print(name*10)
运行结果:
alisaalisaalisaalisaalisaalisaalisaalisaalisaalisa

符串的格式化

格式化输出常用参数:
%s:非常强大,可以接收任意类型的数据并转化成str类型输出。
%c:整数:将数字转换成其ASCII/unicode对应的值,(py27则只支持0-255)。
%o:将整数转换成八进制表示。
%x:将整数转换成十六进制表示。
%d:将整数、浮点数转换成 十 进制表示。
%e:将整数、浮点数转换成科学计数法(小写e)。
%E:将整数、浮点数转换成科学计数法(大写E)。
%f: 将整数、浮点数转换成浮点数表示(默认保留小数点后6位)。
%g:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是e;)。
%G:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是E;)。
%:当字符串中存在格式化标志时,需要用 %%表示一个百分号 注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式。
示例1

name = input("请输入姓名")
age = input("请输入年龄")
print('你认识的那个%s,今天是%s了吗'%(name,age))
示例2
name = input("请输入姓名")
age = input("请输入年龄")
print(f'你认识的那个{name},今天是{age}了吗')

示例3

name = input("请输入姓名")
age = input("请输入年龄")
print(("你认识的那个{},今天是{}了吗").format(name, age))

字符串编码

ascii 美国 256 没有中文 
一个字节  8位   
gbk 中国  
中文 2字节  16位
英文 1字节  8位
unicode 万国码 
2个字节     16位
4个字节     32位
utf-8 可变编码   
英文 1字节  8位
欧洲 2字节  16位
亚洲 3字节  24位

 
 
 
 
 
 
 

Python之路-基础数据类型之字符串的更多相关文章

  1. Python之路-基础数据类型之列表 元组

    列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...

  2. 百万年薪python之路 -- 基础数据类型的补充

    基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...

  3. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  4. 百万年薪python之路 -- 基础数据类型的补充练习

    1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...

  5. python之路--基础数据类型的补充与深浅copy

    一 . join的用法 lst =['吴彦祖','谢霆锋','刘德华'] s = '_'.join(lst) print(s) # 吴彦祖_谢霆锋_刘德华 # join() "*" ...

  6. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  7. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  8. python之路:数据类型初识

    python开发之路:数据类型初识 数据类型非常重要.不过我这么说吧,他不重要我还讲个屁? 好,既然有人对数据类型不了解,我就讲一讲吧.反正这东西不需要什么python代码. 数据类型我讲的很死板.. ...

  9. python变量与基础数据类型

    一.什么是变量 变量是什么?  变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用.在python中一切都是变量. 1.python变量命名的要求 1,必须有数字,字母,下划线任意组合. ...

随机推荐

  1. ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary path

    错误日志如下: -- ::, DEBUG [org.apache.hadoop.metrics2.lib.MutableMetricsFactory] - field org.apache.hadoo ...

  2. PHP拾贝

    $_SERVER['DOCUMENT_ROOT']指向了web服务器文档树的根.(E:/wamp/www/) ********************************************* ...

  3. Maven的学习资料收集--(一)环境搭建

    这几天在做项目的时候用到了maven,但是自己没有从来没有接触过,所以咋网上找资料,终于找到了一下的资料,这个是别人总结的,我只是转载过来积累.请尊重原创. 官网地址:http://maven.apa ...

  4. asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

    1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用: @Html.Partial 对应 @{Html.RenderParti ...

  5. IE6/IE7下只设置margin-left,左右都有边距问题

    CSS代码 div { border: 1px solid red; } .inner { width: 80px; height: 80px; float: left; position: rela ...

  6. 1 误删dbf文件造成ORA-01109: 数据库未打开.

    1.cmd-sqlplus /nolog-conn system/pwd as sysdba 2.shutdown immediate; 3.startup mount; 4.alter databa ...

  7. JS常用公共方法封装

    _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...

  8. spring ehcache 使用详解

    Spring 整合 Ehcache 管理缓存详解  yellowbutterfly 前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存. Spring 提供了对缓存功能的抽象: ...

  9. 从零开始的全栈工程师——js篇2.16

    js操作css样式 div.style.width=“200px” 在div标签内我们添加了一个style属性 并设定了width值 这种写法会给标签带来了大量的style属性 跟实际项目是不符的 我 ...

  10. Spring+Hibernateh使用小结

    由此我们可以看出,报出错误的地方主要是slf4j的jar包,而故障码中“Failed to load class ’org.slf4j.impl.StaticLoggerBinder‘”的意思则是“加 ...