python笔记3

字符串

  • 表示文字信息
  • 用单引号、双引号、三引号包含的内容

str字符串(17.2-14str1)

  • str
  • 转义字符
  • 格式化
  • 内建函数

转义字符

  • 用一个特殊的方法表示出一系列不方便写出的内容,比如回车键、换行符、退格键等
  • 借助反斜杠中字符,一旦字符串中出现反斜杠,则反斜杠后面一个或几个字符表示以及不是原来的意思了,进行了转义
  • 在字符串中,一旦出现了反斜杠就要注意,可能由转义字符出现
  • 不同系统对换行操作有不同的表示
    • Windows:\n
    • Linux:\r\n
  • 若想在字符串中表示反斜杠,则需要在反斜杠之前加一个反斜杠

常用转义字符

  • 转义字符 描述
  • (在行尾时) 续行符
  • \ 反斜杠符号
  • \’ 单引号
  • \” 双引号
  • \a 响铃
  • \b 退格(Backspace)
  • \e 转义
  • \000 空
  • \n 换行
  • \v 纵向制表符
  • \t 横向制表符
  • \r 回车
  • \f 换页
  • \oyy 八进制数yy代表的字符,例如:\o12代表换行
  • \xyy 十进制数yy代表的字符,例如:\x0a代表换行
  • \other 其它的字符以普通格式输出
#转义字符案例
s = 'Let\' go'
print(s)

a = 'c:\\User\\anocodar'
print(a)
Let' go
c:\User\anocodar

格式化

  • 把字符串按照一定格式进行打印或者填充
  • 格式化的分类:
    • 传统格式化
    • format

字符串的传统格式化方法

  • 使用%进行格式化
  • %(百分号)也叫占位符
    %s:字符串
    %r:字符串,但是是使用repr而不是str
    %c:整数转换成单个字符
    %d:十进制整数
    %u:无符号整数
    %o:表示八进制
    %x:十六进制,字母为小写(x为小写)
    %X:十六进制,字母为大写(X为大写)
    %e:浮点数,例如2.87e+12
    %E:浮点数,例如2.87E+12
    %f,%F:浮点数十进制形式
    %g,%G:十进制形式浮点或者指数浮点自动转换
    格式字符前出现整数表示此占位符所占位置的宽度
    格式字符前边出现‘-’表示左对齐
    格式字符前边出现‘+’表示右对齐
    0位数不足用‘0’补齐
    width表示宽度
    pricision进度
  • 占位符一般只能被同类型替换,或者替换类型能被转换成占位符的类型
s = 'Time is money %s'
print(s)

print(s%'he said')

print('Time is money %s'%'her said')

s = 'Time is %s,knowledge is %s'
print(s%('money','power'))
Time is money %s
Time is money he said
Time is money her said
Time is money,knowledge is power

18.2-15str2

format格式化

  • 使用函数形式进行格式化,代替以前的百分号
    • 用{}进行占位置
    • 按顺序进行读取
#方式1
s = '{} {} {}!'
print(s.format('Hello','the','world'))

#方式2
s = '{} {} {}!'.format('Hello','the','world')
print(s)

#设置指定位置
s = '{2} {0} {1}!'.format('the','world','Hello')
print(s)

#使用命名参数
s = '我现在在{adress},北京时间为{time},天气{climate}'
s = s.format(adress = '重庆',time = '2019年5月2日12点整',climate = '晴')
print(s)

#通过字典设置参数,需要解包
s = '我现在在{adress},北京时间为{time},天气{climate}'
s_dict = {'adress':'重庆',\
          'time':'2019年中午12点整',\
          'climate':'晴'}
#**表示解包操作
s = s.format(**s_dict)
print(s)
Hello the world!
Hello the world!
Hello the world!
我现在在重庆,北京时间为2019年5月2日12点整,天气晴
我现在在重庆,北京时间为2019年中午12点整,天气晴
#数字的格式化
s = 'height is {:.2f}m,weight is {:.2f}kg'
print(s.forms = {format}at(1.68,54.02))
'''
^,<,>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
+表示在正数前显示+,负数前显示-;  (空格)表示在正数前加空格
b、d、o、x分别是二进制、十进制、八进制、十六进制
此外我们可以使用大括号{}来转义大括号
'''

#大括号转义案例(错误的)
s = {format函数是使用{}来进行占位的}
print(s.format({}))
  File "<ipython-input-18-1c40341ddf98>", line 3
    print(s.forms = {format}at(1.68,54.02))
                             ^
SyntaxError: invalid syntax

str内置函数

  • 很多语言字符串用string表示,但在python中用str表示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值