#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 学习网站:www.runoob.com
#****************************************************
# Python3 字符串 *
#****************************************************
# 可以使用单引号'或双引号"来创建字符串
var1 = 'hello '; var2 = 'bugliu'
print( var1 + var2 ) # hello bugliu
# python 不支持单字符类型,单字符在python中也是作为一个字符串使用
# python 访问子字符串,可以使用方括号来截取字符串
# a,b为参数。从字符串指针为a的地方开始截取字符,到b的前一个位置(因为不包含b)
var1 = "hello world"
# print(var1[a: b])
# 如果a,b均不填写,默认取全部字符。
print(var1[:]) # hello world
print(var1) # hello world
# 如果a填写,b不填写(或填写的值大于指针下标),默认从a开始截取,
# 至字符串最后一个位置
print(var1[3: ]) # lo world
# 如果a不填写, b填写,默认从0位置开始截取,至b的前一个位置
print(var1[: 8]) # hello wo
# 4、如果a为负数,默认从尾部某一位置,开始向后截取
print(var1[-2: ]) # ld
# 5、如果a>=b, 默认输出为空。
print(var1[3: 3]) # 空
print(var1[3: 2]) # 空
# 截取字符串的一部分并与其他字段拼接
print( "已更新:", var1[:6] + 'mik' ) # 已更新: hello mik
print ("--------------------分割线------------------")
#============
# 转义字符
#============
# \(在行尾时续行符)、\'(单引号)、\"(双引号)、\a(响铃)、\b(退格)、
# \e(转义)、\000(空)、\n(换行)、\v(纵向制表符)、\t(横向制表符)、
# \r(回车)、\f(换页)、\oyy(八进制)、\xyy(十六进制)
#============
# 字符串运算符
#============
str1 = 'hello'; str2 = 'bugliu'
# 字符串连接“+”
print( str1 + str2 ) # hellobugliu
# 重复输出字符串
print( str1*2 ) # hellohello
# 通过索引获取字符串中的字符
print( str1[0] ) # h
# in 成员运算符
print( 'h' in str1 ) # True
# not in 成员运算符
print( 'h' not in str1 ) # False
# r/R 原始字符串
print( r'\n'+R'\n' ) # \n\n
print ("--------------------分割线------------------")
#============
# 字符串格式化
#============
# python中,字符串格式化使用与C中printf函数一样的语法,'%' 替换','
str3 = 'string'
# 格式化字符及其ASCII码
print( "chr is [%c]" % str3[0]) # chr is [s]
# 格式化字符串
print( "str is [%s]" % str3 ) # str is [string]
# 格式化整数
print( "num is [%d]" % 50 ) # num is [50]
print ("--------------------分割线------------------")
#============
# 三引号
#============
# ''' 或 """ 允许资格字符串跨多行,字符串中可以包含换行符、制表符
# 以及其他特殊字符, 在三 引号前面添加r或R后,多行字符串中特殊字符
# 将不进行转义
many_lines_str1 = '''这是一个多行字符串的实例
多行字符串可以使用制表符TAB(\t)
也可以使用换行符【\n】
'''
print( many_lines_str1 )
'''
以上执行结果:
这是一个多行字符串的实例
多行字符串可以使用制表符TAB( )
也可以使用换行符【
】
'''
print ("--------------------分割线------------------")
many_lines_str2 = r'''这是一个多行字符串的实例
不进行特殊字符转义【\n】【\t】【\r】
'''
print( many_lines_str2 )
'''
这是一个多行字符串的实例
不进行特殊字符转义【\n】【\t】【\r】
'''
print ("--------------------分割线------------------")
#============
# Unicode字符串
#============
'''
在python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则
存储为16位unicode字符串,这样能够表示更多的字符集,使用的语法是在
字符串前面加上前缀u。
在python3中,所有的字符串都是Unicode字符串
'''
#============
# 字符串内建函数
#============
test_str = 'hi bugliu'
# isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则
# 返回True,否则返回False.
print( str.isalnum(test_str) ) # False
# isalpha() 至少有一个字符并且所有字符都是字母则返回True,否则False
print( str.isalpha(test_str) ) # False
# isdigit() 只包含数字则返回True, 否则返回False
print( str.isdigit(test_str) ) # False
# len() 去总长度
print( len(test_str) ) # 9
# 更多的字符串函数使用参考使用手册
Python3 学习笔记6_字符串_20180224
最新推荐文章于 2024-07-15 01:58:24 发布