python学习笔记2.0

选择排序:假设一位最小值(或者最大值)不断找最小值进行替换

插入排序:假设第i个之前都是有序的

默认第一个值为一个有许多数列,之后依次插入后面每一个值

二分查找:有序序列才可,在有序数列里通过中间值找对应数字

大O

时间复杂度:O(1)  O(logN)  O(n)  O(n^2)

空间复杂度

函数:一段实现某一特定功能的代码的集合,本质上实现了代码的高度复用

定义方式:def 函数名([形参]):(满足标识符命名规范

               一行或者多行的函数体

               [return返回值]

调用方式:函数名()

函数碰见return后会立刻返回,不会执行后面的代码

本地变量(局部变量)和全局变量

本地变量(局部变量):声明在函数内的变量,只能在函数内进行访问,外部进行访问要通过return返回

全局变量:全局变量在任何位置都能被读取,默认情况下不允许被函数内部更改

               global 变量 声明为全局变量,函数内就可更改

函数调用的本质:程序启动的瞬间,会生成至少一个执行栈,函数是在堆中存放的,每当函数被调用时,会进行压栈

                         调用结束后,会立刻进行弹栈

值传递和引用传递

值传递传递的是值,不能更改,引用传递传递的是内存地址,可以更改

参数:

默认值参数:大多数情况下,该参数值不需要改版,书写位置一般在正常参数的后面,方便用户调用函数

               默认值参数指向不可变数据

可变参数   *参数名(一般为*args)

           传入的参数为元组或列表,只需要在元组或列表前添加*,就会把元组或列表作为可变参数插入

匿名函数 lambda表达式

 lambda[参数]:函数

偏函数:

int(x,base=10)--> integer       默认按照十进制进行转换

偏函数:通过设定参数的默认值,可以降低函数调用的难度

简单总结 functools.partial 的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

 

递归函数:函数内部调用自身,递归函数就是为了解决能够同分治思想解决问题的

分治思想:将一个大问题,划分成若干个相互独立,且与原问题性质相同的子问题,求出子问题的解,就可以得到原问题的解

 

斐波那契、不死兔子:

 

爬楼梯:

 

 

字符串:是一种典型的不可变类型,字符串是一个对象,字符串也存在下标

定义:‘   ’,“  ”,'''  ''' , """   """,str()

 

 

 capitalize():首字母大写 返回新的字符串

 center():居中对齐

 endswith():判断字符串是否以什么结尾,返回布尔值

 startswith():是否以….开始,返回布尔值

 find(查找的字符,【检索开始的下标,检索结束的下标】):从左到右检索某个字符或字符串,找到第一个满足的字符或字符串,返回下标

 find()未检索到会返回-1index()未检索到直接报错

 rfind():从右向左进行检索

 format():格式化字符串的

 join():按照特定的规则进行字符串的拼接

 split():按照特定的字符串进行分割,最终返回是一个列表

 upper():转大写

 lower():转小写

 strip():清除字符串两边的空格

 lstrip():清除左边的空格

 rstrip():清除右边空格

 title():标题格式,每个单词首字母大写

 

 replace(old,new)返回一个新的字符串

 encode():转换编码格式,将字符串转换为字节

 

 

切片操作

下标:获取到某一个元素

切片:拿到多个有序地元素

         可以对标range[start : end : step]

 start不写的情况下,默认从下标为0的地方开始切片,取左不取右

 end不写的情况下,默认直接切片刀所有元素结束

 【:】能切到完整的对象

 step不写的情况下默认为1

 【::-1】从右往左,相当于翻转

切片切不到时无返回,不会报错

 

  • 31
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值