文章目录
一、定义
二、属性
不可变数据类型,无法直接修改字符串的某一位字符
三、操作
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)
2、
print('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