一、字符串

  • 在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}
  • 函数的参数
    带默认值的参数被称为关键字参数,没有默认值的参数被称为位置参数,在定义函数的时候,位置参数不能放在关键字参数之后