还是不多说话了。。

1.eval函数

用法:eval(expression, globals=None, locals=None)

解释:将字符串str当成有效的表达式来求值并返回计算结果。

就是可以将字符串转换为表达式来运行,当然可以转换为某个函数执行。
 

使用:

a = 1
b = 1
val1 = a + b
val2 = eval("a+b")
def f():
a = 10
b = 10
val3 = eval("a+b",globals())
val4 = eval("a+b")
return val3,val4
print(val1,val2,f()) #2 2 (2, 20)

2.sort sorted用法

只要是可迭代对象数据,都能够进行排序,生成一个排序后的列表。
list.sort()函数会对list进行排序操作,改变原有list;而sorted(list)之后会返回一个copy,不会对原来的list有影响。

sorted(iterable, key=None, reverse=False)

list.sort(iterable, key=None, reverse=False)

两者参数一模一样,因此用代码加以区分:

a = [1,5,3,9,7]
b = [9,3,7,2,6]
print(a.sort())
print(a)
print(sorted(b))
print(b) #None
#[1, 3, 5, 7, 9]
#[2, 3, 6, 7, 9]
#[9, 3, 7, 2, 6]

3.split 用法

Python中有split()和os.path.split()两个函数,具体作用如下:

split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)

os.path.split():按照路径将文件名和路径分割开

str.split(str="",num=string.count(str))[n]

str:分隔符,默认为空格,但是不能为空'',如果没有分隔符,就把整个字符串作为列表的第一个元素。
num:分割次数。
[n]:取第n个分片。

使用:

str = "http://cnblogs.com/aoru45"
val1 = str.split()
val2 = str.split("/")
val3 = str.split("/",2)
val4 = str.split("/",2)[0]
print(val1,val2,val3,val4)
#['http://cnblogs.com/aoru45'] ['http:', '', 'cnblogs.com', 'aoru45'] ['http:', '', 'cnblogs.com/aoru45'] http:

4.list各种操作和操作的时间复杂度

Operation

Average Case

Amortized Worst Case

Copy

O(n)

O(n)

Append[1]

O(1)

O(1)

Pop last

O(1)

O(1)

Pop intermediate

O(k)

O(k)

Insert

O(n)

O(n)

Get Item

O(1)

O(1)

Set Item

O(1)

O(1)

Delete Item

O(n)

O(n)

Iteration

O(n)

O(n)

Get Slice

O(k)

O(k)

Del Slice

O(n)

O(n)

Set Slice

O(k+n)

O(k+n)

Extend[1]

O(k)

O(k)

Sort

O(n log n)

O(n log n)

Multiply

O(nk)

O(nk)

x in s

O(n)

 

min(s), max(s)

O(n)

 

Get Length

O(1)

O(1)

5.help函数的使用

使用help()可以帮助我们迅速了解某个函数的作用。同时呢,当我们定义某个函数的时候,我们也一样可以写一些帮助方便别人理解。
当我输入help(print)的时候呢,终端会返回:

Help on built-in function print in module builtins:

print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

我们便可以看到print函数的说明和参数情况。
当我们自己定义函数的时候呢,我们可以这样:

def f(int a):
'''this is a function that returns a+1'''
return a+1
help(f)
#会输出
#Help on function f in module __main__:
#f(a=0)
# this is a function that returns a+1

6. = copy.copy copy.deepcopy区别

copy和deepcopy都能实现拷贝的操作,不同的是,copy拷贝的过程中不会创建新空间,看下面的例子,b使用copy拷贝了a,当a的2改为99的时候,b的值也改变了,但是为什么a添加[7,8,9]的时候,b没有添加呢,原来,b拷贝的只是a原有的list中的两个地址,当a添加一个元素的时候呢,相当于加了一个地址,而在b中没拷贝,所以b还是不添加元素。c是deepcopy来的,a的任何变化都不能影响c的变化。copy只是复制了简单对象,复杂对象如嵌套的list会作为公共元素,因此修改原对象的复杂对象会导致copy后的对象元素修改。

import copy
a = [[1,2,3],[4,5,6]]
b = copy.copy(a)
c = copy.deepcopy(a)
a.append([7,8,9])
a[0][1] = 99
print(a)
print(b)
print(c) '''
[[1, 99, 3], [4, 5, 6], [7, 8, 9]]
[[1, 99, 3], [4, 5, 6]]
[[1, 2, 3], [4, 5, 6]]
'''

7.*l 函数接受任意个数参数 **kw 函数接受任意个关键字参数

在python中,使用*可以接受任意个数的参数,而使用**可以接受任意个数的关键字参数。

def a(*l):
result = 0
for val in l:
result = result + val
return result
def b(**kw):
result = 0
result = kw["keyword_1"]+kw["keyword_2"]
return result
print(a(1,2,3,4,5))
print(a(1,2,3))
print(b(keyword_1 = 10,keyword_2=20)) '''
15
6
30
'''

参考:

1.python eval() https://www.cnblogs.com/dadadechengzi/p/6149930.html

2.Python 内置函数sorted()在高级用法 https://www.cnblogs.com/brad1994/p/6697196.html

3.Python中的split()函数的用法 https://www.cnblogs.com/hjhsysu/p/5700347.html

4.list各种操作和操作的时间复杂度 https://wiki.python.org/moin/TimeComplexity

[学习总结] python语言学习总结 (一)的更多相关文章

  1. [学习总结] python语言学习总结 (三)

    函数闭包 定义 延伸了作用域的函数(能访问定义体之外定义的非全局变量 作用 共享变量的时候避免使用了不安全的全局变量 允许将函数与某些数据关联起来,类似于简化版面向对象编程 相同代码每次生成的闭包,其 ...

  2. [学习总结] python语言学习总结 (二)

    1.python中的拆包 之前就只写了*可以是未知数量的参数,**可以传入未知数量命名参数.这次详细记下拆包. def f1(a, *l): print(a) # 不拆包 print(l) # 拆包 ...

  3. python语言学习

    前段时间要做视频直播需要编写自动模块,就考虑使用python脚本语言,python的好多语法都是很独特的,比如数据类型不需要预定义,缩进的方式等,另外功能也很强大,豆瓣就是用python写的.我写的部 ...

  4. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  5. python语言学习1——初识python

    Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python ...

  6. Python语言学习之C++调用python

    C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...

  7. python语言学习笔记整理

    什么是程序? 程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所 ...

  8. 值得关注的10个Python语言学习博客

    大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...

  9. python语言学习8——字符串和编码

    Unicode编码 计算机只能处理数字,如果要处理文本,就必须把文本转化为数字才能处理 有许多编码标准,但是不同的编码标准有时候会混乱,所以Unicode应运而生 Unicode把所有语言统一到一套编 ...

随机推荐

  1. HDU - 6400 多校8 Parentheses Matrix(构造)

    Parentheses Matrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  2. unity3d 自定义载入条/载入动画

    在 Assets 下新建文件夹 WebGLTemplates , 在 WebGLTemplates 文件夹下新建文件夹 MyTemplate, 新建index. 在 PlayerSetting 中的 ...

  3. SAS批量导出sas7bdata至excel

    /*创建输出excel的宏*/ %macro export(inlib,intbl,outpath,outfile); proc export data=&inlib..&intbl ...

  4. ZOJ3526【缩点思想】

    一开始做的时候(TLE),A,C,G这三类作为边,然后点和点直接建边搜个环:then time BOOM! 可以发现只属于"A"类的之间都并在一起就好,同理"G" ...

  5. encodeURI和uncodeURIComponent的介绍

    encodeURI.decodeURI encodeURI.decodeURI 对字符转义:不替换特殊字符有18个.(大小写)字母.数字. 替换目标 将字符替换为 HTML URL编码 替换范围 A- ...

  6. 洛谷P4213 【模板】杜教筛(Sum)(杜教筛,莫比乌斯反演)

    传送门 坑着,联赛活着回来再填(死了就不填了) // luogu-judger-enable-o2 //minamoto #include<iostream> #include<cs ...

  7. 外网连接Mysql云数据库

    购买好Mysql云数据库,这里是腾讯云 在管理中把外网地址开通,然后可以看到本云数据库的外网地址 注意:外网地址com到前面才是连接地址,冒号后面的10057是连接的端口号,可以看下面的连接语句 cm ...

  8. npm、webpack、vue-cli 快速上手

    npm+webpack+vue-cli快速上手   Node.js   npm 什么是Node.js  以及npm 简单的来说 Node.js 就是运行在服务端的JavaScript,基于Chrome ...

  9. myeclipse 最佳设置

    http://www.cnblogs.com/wuyifu/p/3593035.html

  10. Java浏览器下载文件为excel(springMVC方式)

    action中的方法 /** * Excel文件下载处理 * @return */ @RequestMapping("/downloanExcel") public ModelAn ...