1.print函数
print(value,…,sep=’’,end=’\n’,file=sys.stdout,flush=False)
seq 是在每个对象的文本之间插入一个字符串,如果没有桩底的话,它默认是一个单个空格,传递一个空字符串将会一直分隔符
end 是添加在打印文本末尾的一个字符串,如果灭有传递的话,它默认的是一个\n 换行字符。传递一个控制符串将会避免在打印的文本的末尾移动到下一个输入行-----下一个print 将会保持添加到当前输出行的末尾。
file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中
2.拼接字符----------+
3.数值转化为字符串
repr()---------带引号的输出
4.获取用户输入
intput()---------用户输入任何内容,返回一个字符串
5.原始字符串以‘r’开始
5.1原始字符串以“r”开头,它不会把反斜线当成特殊字符。因此,G:\publish\codes\02\2.4路径可直接写成如下这种形式:
s1 = r'G:\publish\codes\02\2.4'
print(s1)
5.2如果确实要在原始字符串的结尾处添加反斜线怎么办呢?一种方式是不要使用原始字符串,而是改为使用长字符串写法(三引号字符串);另一种方式就是将反斜线单独写。
s3 = r'Good Morning' '\\'
print(s3)
6.字节串
如果希望将一个字符串转换成 bytes 对象,有如下三种方式:
如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 b 来构建字节串值。
调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。
调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。
b3 = b'hello'
b4 = bytes('我爱Python编程',encoding='utf-8')
b5 = "学习Python很有趣".encode('utf-8')
st = b5.decode('utf-8')
b'hello'
b'\xe6\x88\x91\xe7\x88\xb1Python\xe7\xbc\x96\xe7\xa8\x8b'
b'\xe5\xad\xa6\xe4\xb9\xa0Python\xe5\xbe\x88\xe6\x9c\x89\xe8\xb6\xa3'
学习Python很有趣
7.字符串格式化
在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。Python 也允许在最小宽度之前添加一个标志来改变这种行为,Python 支持如下标志:
-:指定左对齐。
+:表示数值总要带着符号(正数带“+”,负数带“-”)。
0:表示不补充空格,而是补充 0。
8.len函数
在 Python 中,不同的字符所占的字节数不同,数字、英文字母、小数点、下划线以及空格,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。
例如,汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节。
9.类型转换
10.序列相关方法
s[-1]-------------获取最后一个
s[:-1]------------从开始到最后一个(不包括)
s[::-1]-----------反转
s[2::-1]---------从下标为2的元素开始反转
import numpy as np
a=[1,2,3.4,5]
print(a)
[ 1 2 3 4 5 ]
print(a[-1]) ###取最后一个元素
[5]
print(a[:-1]) ### 除了最后一个取全部
[ 1 2 3 4 ]
print(a[::-1]) ### 取从后向前(相反)的元素
[ 5 4 3 2 1 ]
print(a[2::-1]) ### 取从下标为2的元素翻转读取
[ 3 2 1 ]
11.大小写相关方法
dir() -------------------------列出指定类或模块包含的全部内容
help() -----------------------查看某个函数或方法的帮助文档
大小写:
titile()----------------将每个但是首字母大写
lower()--------------将整个字符串小写
upper()-------------将整个字符串大写
12.删除空白:
strip()----------------删除字符串前后的空白
lstrip() ---------------- 前面
rstrip()------------------- 后面
需要注意:
1.python 中str是不可变,因此三个方法返回的字符串是原副本,并未改变原字符串
2.传入参数将一直删到不符合条件为止。
s='i think it is a scrapycrow'
print(s.rstrip('itow'))
print(s.lstrip('itow'))
print(s.strip('itow'))
i think it is a scrapycr
think it is a scrapycrow
think it is a scrapycr
replace()方法,可以去除全部空格
replace主要用于字符串的替换replace(old, new, count)
>>> a = " a b c "
>>> a.replace(" ", "")
'abc'
5: join()方法+split()方法,可以去除全部空格
join为字符字符串合成传入一个字符串列表,split用于字符串分割可以按规则进行分割
>>> a = " a b c "
>>> b = a.split() # 字符串按空格分割成列表
>>> b ['a', 'b', 'c']
>>> c = "".join(b) # 使用一个空字符串合成列表内容生成新的字符串
>>> c 'abc'
#快捷用法
>>> a = " a b c "
>>> "".join(a.split())
'abc'
13.替换、查找相关方法
1.str.startswith(sub[,start[,end]])
返回 True;反之返回 False
2.str.endswith(sub[,start[,end]])
返回 True;反之返回 False
3.str.find(sub[,start[,end]])
如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。
4.str.index(sub[,start[,end]])
同 find() 方法类似,index() 方法也可以用于检索是否包含指定的字符串,不同之处在于,当指定的字符串不存在时,index() 方法会抛出异常。
5.str.replace(old, new, count)
参数
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
count – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数 count,则替换不超过 count 次。
6.str.translate(table[, deletechars]);
参数
table – 翻译表,翻译表是通过maketrans方法转换而来。
deletechars – 字符串中要过滤的字符列表。
maketrans-----------------制作映射表
bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
#转换为大写,并删除字母o
print(b'runoob'.translate(bytes_tabtrans, b'o'))
b'RUNB'
7.分割、连接方法
1.str.split(sep,maxsplit)
str:表示要进行分割的字符串;
sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。
maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。
2.join() 方法的语法格式如下:
newstr = str.join(iterable)
此方法中各参数的含义如下:
str:用于指定合并时的分隔符;
iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。
14.位运算符~,>>均是以补码形式进行(正原,负反+1)
15.索引运算符: [begin,end,step]
16.比较运算符:
is------------要求是同一个对象
==-----------要求内容一致
17.三目运算符:
True_statements if expression else False_statements
****Python 允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。
Python 主要支持以下两种放置方式:
多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。
多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。
先看第一种情形,使用如下代码:
第一个返回值部分使用两条语句,逗号隔开
st = print("crazyit"), 'a大于b' if a > b else "a不大于b"
print(st)
上面程序中 True_statements 为 print(“crazyit”),‘a大于b’,这两条语句都会执行,程序将会返回这两条语句的返回值组成的元组。由于 print() 函数没有返回值,相当于它的返回值是 None。运行上面代码,将看到如下结果:
crazyit
(None,'a大于b')
如果将上面语句中的逗号改为分号,将逗号之后的语句改为赋值语句,即写成如下形式:
第一个返回值部分使用两条语句,分号隔开
st = print("crazyit"); x = 20 if a > b else "a不大于b"
print(st)
print(x)
此时虽然 True_statements 包含两条语句,但程序只会返回第一条语句 print(”crazyit”) 的返回值,该语句同样返回 None,因此相当于 str 的返回值为 None。运行上面代码,将看到如下结果:
crazyit
None
20
需要指出的是,三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断。例如,下面代码需要判断 c、d 两个变量的大小关系:
c = 5
d = 5
# 下面将输出c等于d
print("c大于d") if c > d else (print("c小于d") if c < d else print("c等于d"))