字符串
- Python pass 语句
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
Python 语言 pass 语句语法格式如下:
pass
实例:
#!/usr/bin/python # -- coding: UTF-8 --
#输出 Python 的每个字母
for letter in ‘Python’:
if letter == ‘h’:
pass
print ‘这是 pass 块’
print ‘当前字母 :’, letter
print “Good bye!”
以上实例执行结果:
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!
-
pass 一般用于占位置。
在 Python 中有时候会看到一个 def 函数:
def sample(n_samples): pass
该处的 pass 便是占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容是可以用 pass 填充,使程序可以正常运行。
[Flyingpp](javascript:😉 Flyingpp 421***630@qq.com 参考地址3年前 (2018-10-01)
爱玩Minecraft的mc小蔡
117***1310@qq.com
316
在 Python3.x 的时候 pass 可以写或不写。
python2.x:
def function():
# 空函数在Python2.x版本中pass是必须的
pass
python3.x
def function():
# 在Python3.x的时候pass可以写或不写
pass
- 不支持单字符类型,不能被修改
单引号
str1='abcd"123354"dd\'ef'
#单引号中间可以包括双引号,可以使用转义符'\'
print(str1)
结果:
abcd"123354"dd'ef
双引号
#三引号可以包括双引号和单引号
a=''' saf'da"jjahd"'''
结果:
三引号
#三引号可以包括双引号和单引号
a='''saf'da"jjahd"'''
print(a)
结果
saf'da"jjahd"
字符串不能被修改
#字符串不能被修改,报错
str3='ada21'
str3[0]='1'
print(str3)
结果:报错
Traceback (most recent call last):
File "D:/PycharmProjects/pythonprj1/test3.py", line 24, in <module>
str3[0]='1'
TypeError: 'str' object does not support item assignment
Process finished with exit code 1
#字符串相加会出现一个新的字符串
str=(str1+str2)
print(str)
结果
abcd"123354"dd'ef
adaf
- 字符串输出
辅助教学网站
菜鸟教程Python3字符串(https://www.runoob.com/python/att-string-format.html)
- ·format格式化函数
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
- format 函数可以接受不限个参数,位置可以不按顺序。
实例:
“{} {}”.format(“hello”, “world”) # 不设置指定位置,按默认顺序
结果: ‘hello world’
“{0} {1}”.format(“hello”, “world”)
设置指定位置
结果:‘hello world’
“{1} {0} {1}”.format(“hello”, “world”)
设置指定位置
结果:‘world hello world’
2.可以设置参数
实例:
#!/usr/bin/python
#-- coding: UTF-8 --
print(“网站名:{name}, 地址 {url}”.format(name=“菜鸟教程”, url=“www.runoob.com”))
结果:
网站名:菜鸟教程, 地址 www.runoob.com
#通过字典设置参数
site = {“name”: “菜鸟教程”, “url”: “www.runoob.com”}
print(“网站名:{name}, 地址 {url}”.format(site)) #’'可以打开某个包(package)
结果:
网站名:菜鸟教程, 地址 www.runoob.com
#通过列表索引设置参数
my_list = [‘菜鸟教程’, ‘www.runoob.com’]
print(“网站名:{0[0]}, 地址 {0[1]}”.format(my_list)) #“0” 是必须的
结果:
网站名:菜鸟教程, 地址 www.runoob.com
3.也可以向 str.format() 传入对象
实例:
#!/usr/bin/python
#-- coding: UTF-8 --
class AssignValue(object):
def init(self, value):
self.value = value
my_value = AssignValue(6)
print(‘value 为: {0.value}’.format(my_value)) # “0” 是可选的
结果:
value 为: 6
#str.format()格式化数字
print("{:.2f}".format(3.1415926)) #保留小数点后两位# 3.14
print("{:+.2f}".format(3.1415926)) #带符号保留小数点后两位# +3.14
print("{:+.2f}".format(-1)) #带符号保留小数点后两位# -1.00
print("{:.0f}".format(2.71828)) #不带小数# 3
print("{:0>2d} ".format(5)) #数字补零 (填充左边, 宽度为2)# 05
print("{:x<4d} ".format(5)) #数字补x (填充右边, 宽度为4)# 5xxx
print("{:x<4d} ".format(10)) #数字补x (填充右边, 宽度为4)# 10xx
print("{:,} ".format(1000000)) #以逗号分隔的数字格式# 1,000,000
print("{:.2%} ".format(0.25)) #百分比格式# 25.00%
print("{:.2e} ".format(1000000000))#指数记法# 1.00e+09
print("{:>10d} ".format(13)) #右对齐 (默认, 宽度为10)# 13
print("{:<10d} ".format(13)) #左对齐 (宽度为10)# 13
print("{:^10d} ".format(13)) #中间对齐 (宽度为10)# 13
#进制
print('{:b}'.format(11))# 1011
print('{:d}'.format(11))# 11
print('{:o}'.format(11))# 13
print('{:x}'.format(11))# b
print('{:#x}'.format(11))# 0xb
print('{:#X}'.format(11))# 0XB
结果:
3.14
+3.14
-1.00
3
05
5xxx
10xx
1,000,000
25.00%
1.00e+09
13
13
13
1011
11
13
b
0xb
0XB
- 字符串输入
name=input('请输入用户名:')
print(name)
结果:
请输入用户名:12
12
- 字符串切片
#字符串切片
#[start:end:step]
#如果指的是切片来说,start后面的‘:’不能省
str4="saffgfa"
print(str4[0])
print(str4[:])
print(str4[1:-1])#结果是去掉了首和尾
print(str4[1:-6])#区间取不到这个字符但还没有出错
print(str4[:-1])#未取最后一个
print(str4[1:])#未取第一个
print(str4[::-1])#倒过来输出
print(str4[::-2])
结果:
s
saffgfa
affgf
saffgf
affgfa
afgffas
agfs
print(str4*2)
结果:saffgfasaffgfa
#in ,not in 在不在字符串里
print('a' in str4)
print('1' not in str4)
结果:
True
True
str1=r'dasdfff\n\'daf'#此时'\'不再转义
print(str1)
结果:
dasdfff\n\'daf
要想输出单引号可以用双引号因在外面
str1=r"dasdfff\n\'daf"#此时'\'不再转义
print(str1)
结果:
dasdfff\n\'daf
要想输出双引号可以用三引号因在外面
str1=r'''dasdff"f"\n\'daf'''#此时'\'不再转义
print(str1)
结果:
dasdff"f"\n\'daf