Python基础——基础数据类型之字符串

一、定义

二、属性

不可变数据类型,无法直接修改字符串的某一位字符

三、操作

1、合并字符串

  • 1)直接合并
first_name = "my"
last_name = "alice"

# 直接拼接
full_name = first_name + " " +last_name
print(full_name)

# 使用title()方法将姓名设置为合适的格式
print("hello, " + full_name.title())

# 将消息存储在一个变量中
message = "hello, " + full_name.title()
print(message)
  • 2)join()
    a、作用与split相反,用于合并序列的元素;
    b、合并一个字符串列表
seq = ['1','2','3']
seqs = '+'
print(seqs.join(seq))

2、replace()——修改字符串

方法replace将指定子串都替换为另一个字符串,并返回替换后的结果

name = "my alice"
name = name.replace('a','A')
print(name)

3、split()

与join相反,将字符串拆分为序列返回分割后的字符串列表

print('1+2+3+4'.split('+'))  #  ['1', '2', '3', '4']

4、center()——居中

通过在两边填充字符(默认为空格),让字符串居中

print('This is an apple'.center(40,'*'))

5、find()

a、在字符串中查找子串,如果找到,就返回子串是第一个字符的索引,否则返回-1
b、还可以指定七点和终点值:指定的搜索范围包含起点,但不包含终点;

seq = 'I love python'
print(seq.find('love'))
print(seq.find('python',0,8))

6、lower()——将字符串改为全部小写

name = "my alice"
print(name.lower())

7、upper()——将字符串改为全部大写

name = "my alice"
print(name.upper())

8、title()——以首字母大写的方式显示每个单词

name = "my alice"
print(name.title())

9、strip

将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果

names = ['alice','amy']
name = 'alice  '
if name.strip() in names:
 print('Find it!')

10、序列翻转[::-1]、复制[:-1]

x = '1234567'
y = [1, 2, 34, 7, 8]
print(x[::-1])  # 7654321 将序列x中的元素翻转
print(y[::-1])  # [8, 7, 34, 2, 1]

print(x[::-2])  # 7531 步长为2,翻转
print(y[::-2])  # [8, 34, 1]

print(x[:-1])  # 123456  复制
print(y[:-1])  # [1, 2, 34, 7]

print(x[:-2])  # 12345
print(y[:-2])  # [1, 2, 34]

四、占位符

  • %s 字符串的占位符
  • %d 整数的占位符
  • %nd 不足n位,前面使用空格补齐
  • %-nd 不足n位,后面使用空格补齐
  • %0nd 不足n位,前面使用0补齐
  • %f 表示的是小数点的占位符
  • %.nf 表示的是四舍五入保留到小数点后n位
  • %% 表示一个%
  • %c 把数字转换成对应的字符
print('%c' % 97)
  • %x 把数字转换成对应的十六进制输出(小写)
  • %X 把数字转换成对应的十六进制输出(大写)
print('%x' % 15)
print('%X' % 15)
  • %o 把十进制数字转换成八进制输出
print('%o' % 10)

五、类型转换

1、转换成数字

转换成数字,都是使用 int 内置类来实现

  • 1)布尔值转换成数字
print(int(True))  # 1
print(int(False))  # 0
  • 2)字符串转换成数字
    如果字符串不能被转换成数字,会直接报错!
a = int('34')
print(a)
print(int('hello'))

2、进制转换

二进制: 0 1
八进制:0~7
十进制:0~9
十六进制:0~9 A~F

print(int('FB12', 16))  # 把字符串FB12当做十六进制的数字使用
print(int('10', 8))  # 把10当做八进制看待

3、转换成字符串

使用str内置类可以将其他类型转换成字符串

  • 1) 将数字转换陈字符串
a = 12
b =str(a)
print(type(b))
  • 2)将布尔值转换成字符串
x = False
y = str(x)
print(y)  # False

#if x
if False:
    print('hello')
#if y:
if 'Flase':  # 字符串里除了空字符串以外,都是True
    print('hhhh')

六、扩展

1、内存地址

在python里,任何的值传递都是内存地址的传递
1、所谓可变类型与不可变类型是指:数据能够直接进行修改,如果能直接修改那么就是可变,否则是不可变;
2、可变类型(修改数据,内存地址不会发生变化)有:列表、字典、集合
3、不可变类型(修改数据,内存地址必定发生变化)有:数字、字符串、元组
在这里插入图片描述

2、print

1、定义
def print(self, *args, sep=’ ‘, end=’\n’, file=None)

*args 表示可以出现任意个数的参数
sep=’ ’ 表示打印输出时,使用哪个字符对输出的内容进行分割
end=‘\n’ 表示的是执行完成一个print语句后,最后打印的字符
file=None 表示的是打印的位置,默认值是None(没有),会打印到控制台

1、
demo = open('demo.txt', 'w')  # 打开一个文件流
print('hello', 'good', 'hi', sep='_', end='======》',file=demo)
2print('my name is %s' % 'alice')
print('I am %d years old' % 18)
print('我的名字是%s,我今年 %d 岁' % ('小明'23))

3、input

1、input函数需要输入一个参数,参数是一个字符串类型的数据
字符串用来提示用户输入,input函数执行完成后会有一个结果,这个结果就是用户输入的内容
2、input接收到的用户输入结果永远是一个字符串

age = int(input('请输入您的年龄:'))
age += 1
print('您明年%d' % age)

4、标识符

1、定义
变量名、函数名、类名等都可以称之为一个标识符
2、命名规则和规范

  • 使用数字、字母、下划线组成,不能以数字开头

  • 严格区分大小写

  • 不能使用关键字(在python里有特殊含义的单次)

  • 常见关键字介绍
    True、False、None、if、else、elif、for、while、break…

  • 能够使用中文,但是最好不要使用中文,避免出现乱码问题

  • 命名要做到顾名思义

  • 尽量不要和内置函数及内置类重名

  • 要遵守一定的命名规范

  • 驼峰命名法:
    a)第一个单次的首字母小写,以后每个单次的首字母都大写,如userNameAndPassword
    b)使用下划线命名,如 user_name_and_password python里最常用的命名法则

  • 大驼峰命名:每个单词的首字母都大写,如UserNameAndPassword ,python里也会用到,用于定义类名,如class Person

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值