Python旋风之旅

ipython:比python更强大的解释器

list.append(i):在列表中加入元素

list.sort():重排列表元素,默认升序排列

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

参数

  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
 
# 指定第二个元素排序
random.sort(key=takeSecond)
 
# 输出类别
print('排序列表:')
print(random)

变量是指针:对于指针的方法的操作会同时影响到另一个相同的指针,但是赋值不会,因为赋值会重新指定指针指向的对象

x = [1, 2, 3]
y = x
x.append(4)
print(y)
x.sort(reverse = True)
print(y)
x = 1
print(y)

 输出结果:

[1, 2, 3, 4]
[4, 3, 2, 1]
[4, 3, 2, 1]

一切皆对象:

数值对象有real和img属性,还有is_integer方法

x = 6.6
print(x.real , x.imag,'i')
print(x.is_integer())

6.6 0.0 i
False

 算数运算符:

 位运算符:

可用bin()函数查看十进制数字的二进制表示 

e.g.1 ^ 3 = 2        ~0=-1

bool运算符:

and        or        not

身份、成员运算符:

简单变量:

复数:

  1. c.conjugate()        #  共轭复数
  2. abs(c)        #  求模

字符串:

  1. len():求字符串长度
  2. str.upper():全部转化为大写
  3. str.title():每个单词首字母大写
  4. str.capitalize():首字母大写

str[::2]:按照步长为2取数据

str[::-1]:序列翻转 

元组:

x.as_integer_ratio()返回一个有理数的分数的分子和分母

字典:

定义用大括号,访问键值使用中括号

集合:

使用&实现交集,使用|实现并集,使用-实现差分,使用^实现对称差分(返回只出现在其中一个集集合的元素)

for-else:

for循环中没有执行break,则会执行else中的内容

sep为print中隔开各个相的参数

print('a','b','c',sep = '---')
a---b---c

习惯使用*args,**kwargs 捕获输入的参数,*意味着将其展开为列表,**意味着将其展开为字典

一切皆对象,一个函数可以传递到另一个函数中

sorted(data, key = lambda item:item['b'])
Out[62]: [{'a': 2, 'b': 1}, {'a': 1, 'b': 2}]

raise ValueError()提出异常

try...except...else..finally:else只在成功的时候执行,finally无论如何都会执行

迭代器:

from itertools import count ,count()可以起到一个无穷range的操作

enumerate()函数返回两个值,第一个为索引,第二个为索引对应的列表的值

zip可以将两个对象连接:

map可以接受函数并应用到每一个数上:

fliter与map相似,但是只会输出真值:

 

 专用迭代器itertools

  1. itertools.count:无限大的迭代器
  2. itertools.permutations:序列全排列的迭代器
  3. itertools.combatition:N组合中进行迭代 
  4. itertools.product:两两配对的迭代器 

列表推导

 

多重迭代:

 条件控制迭代:

 复杂的列表推导:

生成器

小括号,只有在生成的时候才是有意义的

爱拉托逊斯筛法:

 (其实这里如果val>121就不对了)

生成器表达式是一次性的,也可以被中断

 

通过yield配置生成器:

 The Python Standard Library — Python 3.12.0 documentation

 

跨行字符:

 

swapcase()函数可以颠倒字符串大小写

strip()函数可以删除字符串首尾的空格

  1. rstrip()删除末尾的空格
  2. lstrip()删除开头的空格

想删除别的字符可以传递参数给strip()

居中和填充:

  1. center()参数为int型变量,可以将字符串居中,第二个参数为str,空白处填入的字符
  2. ljust()左对齐
  3. rjust()右对齐,当第二个参数为字符0的时候等价于zfill() 

 find()和index()可以找到从左到右第一个找到的字符串的索引

rfind()和rindex()从右边找索引

replace()可以替换字符串子串为另一个,第一个参数为被替换的,第二个为将替换的

partition()分割参数子串与左右两个子串,返回这三个子串

split()默认按照空格进行分割

join返回一个分割位置和可迭代对象组合的字符串,和sep有点像?

保留三位浮点数:

 

正则化表达式:

 

这里用的是split,match可以匹配字符串开头是否为compile的字符,返回true或者false:

 

regex.search函数就非常像find和index函数

regex.sub就非常像replace函数

regex.findaall返回匹配表达式的所有字符

字符串前面加是原始字符串\n这种特殊字符不会有作用

[]可以匹配自定义的字符组组合

重复标记:

\w+则是匹配无限长的字符,只要不碰到空格什么的

小括号可以分组提取:

 

?P<name> 命名:

numpy.arrange()

numpy. reshape()

.T

numpy.dot

乘法,后面的乘以前面的

np.linalg.eigvals()求特征值矩阵

pandas像excel

pd.DataFrame()

 

 

 

 

 

matplotlib

np.linspace():

np.sin(): 

  

Sci-py 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值