字符串:(string 一串字符)
显示或者打印出来文字信息
编码:# -*- coding: utf-8 -*- (python 3不用)
单引号,双引号,三引号
#三个引号的区别: 在字符串中单、双引号是等价的,主要注意的是在使用单引号和双引号进行嵌套时,必须交替使用
- 单引号表示的字符串里可包含双引号,但不能包含单引号。
- 双引号表示的字符串里可以包含单引号,字符串只能有一行,如:a = "hello 'world'!" a=‘hello "world"!’
- 如果要表达多行:
- 双引号:a = "hello ,\n
- world!”
- 多引号 :b = """hello, #***三引号还可以添加注释
- world!""", #***
- 三个引号能包含多行字符串,同时常常出现在函数的声明的下一行,来注释函数的功能,与众不同的地方在于,这个注释作为函数的一个默认属性,可以通过 函数名.__doc__ 来访问
- 三引号的形式用来输入多行文本,也就是说在三引号之间输入的内容将被原样保留,之中的单号和双引号不用转义,其中的不可见字符比如\n和\t都会被保留,这样的好处是你可以替换一些多行的文本
print("{0} was {1} years old".format(name, age))
联合:+: print(name + " was " + str(age) + " years old")
换行符: print("What's your name? \nTom")
2. 字面常量(literal constant):
可以直接以字面的意义使用它们:
如:6,2.24,3.45e-3, "This is a string"
常量:不会被改变
3. 变量:
作用:储存信息
属于identifier
identifier命名规则:
第一个字符必须是字母或者下划线
其余字符可以是字母,数字,或者下划线
区分大小写
如:合法:i, name_3_4, big_bang
不合法:2people, this is tom, my-name, >123b_c2
字符串常用操作
name="my name is jack"
print(name.capitalize() ) #首字母大写
print(name.count("a")) #统计数量
print(name.center(50,"-") ) #移动打印50个字符,不够的-补上,那个放中间
print(name.endswith("ck") ) #判断以什么结尾
print(name.expandtabs(tabsize=3) ) #Tab 转化为空格
print(name.find("name") ) #查找索引
print(name[name.find("name"):9])
#name="my name is {name}and I am {year} old "
print(name.format(name='jack',year='18'))
#print(name.format_map({ 'name':jack,'year':18}) ) #字典
print('abc23'.isalnum() ) #阿拉伯数字加阿拉伯字符 不能带特殊字符
print('abc23'.isalpha() ) #纯英文字符 包含大小写
print('12'.isdecimal() ) #十进制
print('1A'.isdigit() ) #整数
print('1A'.isidentifier() ) #判断是不是合法的标识符 是不是一个合法的变量名
print('1A'.islower() ) #是不是小写
print('1A'.isnumeric() ) #判断是不是数字
print('1A'.isspace() ) #是不是空格
print('My Name Is'.istitle() ) #首字母大写
print('My Name Is'.isprintable() ) #字符串不考虑这个 只有在tty.file文件设备终端
print('My Name Is'.isupper() ) #大写
print('+'.join(["1","2","3"]) ) #变成字符串
print(name.ljust(50,'*')) #保证这句话长50,不够用*在后面填起来
print(name.rjust(50,'*')) #保证这句话长50,不够的用*在前面填起来
print(name.lower()) #把大写变为小写
print(name.upper()) #把小写变为大写
print('\njack\n'.lstrip() ) #默认去掉左边的空格回车
print('\njack\n'.strip() ) #去掉右边的空格回车
p = str.maketrans("abcdef",'123456') #数字对应 随机密码 一一对应
print("jack zo".translate(p) )
print('jack zhou'.replace('a','A',1) ) #把a替换成A
print('jack zhou'.rfind('a') ) #从左往右 找到最右边的那一个 取出下标返回
print('jack'.split('c') ) #把字符串按照()分成几串
print('j+a\n+c+k'.splitlines() ) #识别不同系统换行
print('jack zhou'.swapcase() ) #大小写转换
print('jack zhou'.title() ) #首字母大写
print('jack zhou'.zfill(50) ) #在前面补位
字典操作( 字典一种key-value的数据类型)
语法:
#key-value 键 值
info = {
'stu1101':"Tenglan Wu",
'stu1102':"LongZe luola",
'stu1103':"XiaoZe Maliya",
}
- 字典是无序
#key-value 键 值
info = {
'stu1101':"Tenglan Wu",
'stu1102':"LongZe luola",
'stu1103':"XiaoZe Maliya",
}
'''
print(info)
#print(info["stu1101"])
info["stu1101"]="武藤兰"
info["stu1104"]="cangjingkong"
'''
#info["stu1104"] #本来没有 直接爆破
print(info.get('stu1104')) #标准查找方法 没有就none 有就显示
print('stu1103' in info ) # info.has_key("stu1103) #判断是否存在 true or flase
'''
#del
#del info["stu1101"]
info.pop("stu1101") #标准查
info.popitem() #随机删
print(info)
'''
update()# 合并上述字典 有重合的就更新
#key-value 键 值
info = {
'stu1101':"Tenglan Wu",
'stu1102':"LongZe luola",
'stu1103':"XiaoZe Maliya",
}
b ={
"stu1101":"alex",
1:2,
5:6
}
info.update(b) #update 合并字典,有重合的就更新
print(info)
dict.fromkeys()
c = dict.fromkeys([6,7,8],[1,{"name":"jack"}]) #初始化一个字典 只有一层 否则全部都修改
c [7][1]['name']="jack chen"
print(c)
-------->效果
(修改前)
(修改后)
字典的循环:
for i in info:
print(i,info[i]) #i 打印key info(1)值
for k,v in info.items() : #items 把字典改为列表 当数据过大时转换太困难
print(k,v)