复习python

或与非

Python使用“or”、“and”、“not”来表示“||”、“&&”、“!”。

判断和循环语句

  • if-else
  • while
  • for

    字符串

    字符串切片

    index

    跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

mystr.index(str, start=0, end=len(mystr))

1
2
name="hello word ha ha"
print(name.index("h"))

split 切片 mystr

空白字符:空格、tab、换行、回车以及formfee
当不给split函数传递任何参数时,分隔符sep会采用任意形式的空白字符:空格、tab、换行、回车以及formfeed。maxsplit参数表明要分割得到的list长度。

1
2
3
4
5
6
7
8
9
10
11
12
13
Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法
split()方法语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。
返回值
返回分割后的字符串列表。
name="hello word ha ha"
s=name.split(" ",2)
print(s[0])
print(s[1])

##capitalize
mystr.capitalize()

title

1
2
3
>>> a = "hello itcast"
>>> a.title()
'Hello Itcast'

startswith

检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
mystr.startswith(obj)

endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

lower

转换 mystr 中所有大写字符为小写

mystr.lower()

##upper
转换 mystr 中的小写字母为大写

mystr.upper()

容器Containers

  • 列表 a=[1,2,3]
  • 元祖 t=(1,2) t=(1,)
    tuple一旦初始化就不能修改
  • 字典 d = {key1 : value1, key2 : value2 }
  • 集合

    函数

    定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
    1
    2
    3
    4
    5
    def abs(x):
    if x >= 0:
    return x
    else:
    return -x

列表

递归

斐波拉契数列(Fibonacci)

1
2
3
4
5
6
7
def fabi(n):
if n==0 :
return 1
if n==1 :
return 1
return fabi(n-1)+fabi(n-2)
print(fabi(4))

快排

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def quick_sort(array,left,right):
low=left
high=right
if low>=high:
return
tmp=array[low]
while low<high:
while array[high]>tmp and low<high:
high-=1
array[low]=array[high]#赋值注意
while array[low]<tmp and low<high:
low+=1
array[high]=array[low]
array[low]=tmp
quick_sort(array,left,low-1)
quick_sort(array,low+1,right)
array = [10, 3, 5, 11, 6]
quick_sort(array, 0, len(array)-1)
print(array)

补充

发现一个很赞的中文的python3 notebook~~~小开心
https://python3-cookbook.readthedocs.io/zh_CN/latest/c03/p11_pick_things_at_random.html?highlight=random