一、字符串
- 在python中字符串无需通过像php中的explode或者javascript中的split进行分解即可完成切片,可以直接通过下标获取字符串中的每一个字符,下标从0开始,如果从厚望签署,下标从-1开始
str = 'abcde'
print(str[0]) #结果为:a
print(str[2]) #结果为:c
- 可以通过len()函数获取字符串的长度
- 切片:str[起始位置:结束位置:步长]
- 如果想要取字符串中的几个字符(切片),可以通过在方括号内添加冒号实线,冒号前为开始的小标,冒号后为结束的下标,截取的是冒号前开始到冒号后之间的字符,去尾不掐头
str = 'abcde'
print(str[1:3]) #结果为:bc
print(str[2:3]) #结果为:c
print(str[1:0]) #结果为:bcde 冒号后为零,视为取到最后一个
- 加上第二个冒号后,第二个冒号后的数字相当于步长,即下标加几
str = 'abcdeABCDE'
print(str[1:8:2]) #结果为:bdAC
print(str[-1:0:-1]) #结果为:EDCBAedcb
print(str[-1::-1]) #结果为:EDCBAedcba
print(str[::-1]) #结果为:EDCBAedcba
print(str[::1]) #结果为:abcedABCED
- 字符串常见操作:
- find():从左向右查找字符串在目标字符串中第一次出现的位置,找不到返回-1。
str = 'hello world!'
print(str.find('o')) #结果为:4
- rfind():与find相反,从右向左找。
- index():作用与find相同的,不同的是,如果找不到index会抛出一个异常。
- rindex():同理。
- count():返回查找字符串在目标字符串中出现的次数,不存在返回0。
- replace('目标字符串', '要替换的字符串', 替换几次)
- split():同javascript里的split函数,如果括号内什么都不写,默认以空格为目标切割(很好用)
- join():作用同javascript里的join函数,但形式不同。
a = ['aaa', 'bbb', 'ccc']
b = '#'
print(b.join(a)) #结果为:aaa#bbb#ccc
- capitalize():把字符串第一个字符大写
- title():把字符串的每个单词的首字母大写
- startswith():检查字符串是否以目标字符串开头
- endswith():与startswith相反
- lower():把字符串中所有大写字符小写
- upper():与lower相反
- ljust()、rjust()、center():在括号内填写的数字长度内,靠左、靠右、居中。
- lstrip()、rstrip()、strip():同javascript里的trim
- partition():用字符串把目标字符串以该字符串为中心,分为左中右三部分,返回一个元祖。
str = 'hello world'
print(str.partition('o')) #结果为:('hell', 'o', ' world')
- rpartition():作用同partition,从右向左取第一个。
- splitliness():按换行符进行分割。
- isalpha():判断目标字符串是不是字母。
- isdigit():判断目标是不是数字。
- isalnum():判断目标是不是既有字母又有数字。
- isspace():判断目标是不是空格
二、列表
- 形式:
names = ['张三', '李四', '王五']
- 列表的增加:
- append("要添加的内容")
- insert("位置", "要添加的内容")
- 合并列表:
- 直接用+号进行合并
- 用extend()函数
names1 = ['张三', '李四', "王五"]
names2 = ['赵六', '吴七']
names3 = names1 + names2
print(names3) #结果为:['张三', '李四', '王五', '赵六', '吴七']
names1.extend(names2)
print(names1) #结果为:['张三', '李四', '王五', '赵六', '吴七']
- 列表的删除:
- pop():弹出列表中的最后一个
- remove("内容"):删除列表中第一个目标内容
- del 列表名[下标]
- 列表的查找:
- "要查找的内容" in 列表名
- "要查找的内容" not in 列表名
- 列表的遍历:
for temp in 列表名:
print(temp)
else:
print('end') # for循环加上else,即为在for循环执行完成后,执行else部分
- 列表的排序:
- list.sort():将列表的值按升序排序。
- list.sort(reverse=True):将列表的值按降序排序。
- list.reverse():将列表逆序。
三、字典
- 形式:dic = {键:值, 键:值…},相当于PHP中的关联式数组,表现形式上与json对象相当
- 字典的删除 del 字典名['键名']
- 用get获取字典里的数据,当对应内容不存在时,不会报错:字典名.get('键名')
- 字典的函数:
- len(dic名):获取字典的键值对个数。
- dic.keys():返回字典中所有的键。
- dic.values():返回字典中所有的值。
- dic.items():将字典转化为元祖。
- 字典的排序:
- dic.sort(key=lambda x:x['键名']):升序排列
四、元祖
- (11,22,33)功能与列表相同,不同之处在于元祖在定义后无法修改。
五、函数
- 不定长函数(元祖):
def example(a, b, *args):
print(a)
print(b)
print(args)
example(1, 2, 3, 4, 5, 6, 7, 8) #结果为:1 2 (3, 4, 5, 6, 7)
- 不定长参数(字典):
def test(a, b, c = 33, *args, **kwargs):
print(a)
print(b)
print(c)
print(args)
print(kwargs)
test(11, 22, 33, task = 99, done = 89) #结果为:11 22 33 () {'task': 99, 'done': 89}
- 函数的参数
带默认值的参数被称为关键字参数,没有默认值的参数被称为位置参数,在定义函数的时候,位置参数不能放在关键字参数之后