1. Python基础
- list:优点(保存不同类型的数据);缺点(不同类型的数据需要对应的指针,因为每种数据的所占的内存空间不同,每取一个数据,指针步长不同。)
- array: 一维数组。
- Numpy:处理多维数组+提供函数库,用来处理数组。
- Scipy:包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等函数。
- Pandas:数据分析包,对金融数据进行时间序列分析。包含面板数据和时间序列数据。
- Matlplotlib:可视化模块,制作线条图、饼图、柱状图以及其他专业图形。
- Scikit-Learn:机器学习模块。包括分类、回归、聚类、数据降维、模型选择、数据预处理。
- Theano:提供了深度学习框架。
- 常量:只读。
- 转义字符:',\r,\t,\a,\f,\。不转义:r""。
- 字符串:字符串是以' '或""括起来的任意文本。
- 布尔值:True、False。
- 逻辑判断:and、or和not。
- 空值:None。
- 变量命名规范:变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
- 动态语言:变量本身类型不固定的语言。x = 123,x="abc"
- 静态语言:在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。int a = 1; a = 1.23(X)
- 标识符:用来标识某样东西的名字。除变量外,使用标识符的例子还有函数名、类名等。
- 缩进:Python是用连续相同层次缩进表示语句块的。不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。
- 注释: # ,''' '''
- input():用户输入字符串,并存放到一个变量里。a = input()。
- 运算符:+ ,- ,*,/,//,%,<,<=,>,>=,==,!=,and,or ,not
- 字符串连接:str1+str2."Hello"+" "+"World!" -->"Hello World!"
- 取部分字符串: str[star🔚step];a = "012345";a[::2];a[:3:2],取值区间左闭右开。
- 字符和ASCII码之间的转换:ord('a');chr(97);
- 字符串处理函数
python
复制代码
a ='hsw'
a.upper()
# 'HSW'
a.find('h')
# 0
a.replace('w','Wong')
# 'hsWong
'''
'''
- 表达式:通过使用运算符和函数对字面值进行处理而构建起来的。
- 序列类型:指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。
- 列表:不同类型数据的序列。
python
复制代码
# 列表
# 创建列表
import string
import numpy
a = [1,2,3]
b = ["hello","world",3,4,5.0] # 不同数据类型的序列
c = a+b
c
# [1, 2, 3, 'hello', 'world', 3, 4, 5.0]
# 列表用append()添加一个元素
c.append('123')
c
# [1, 2, 3, 'hello', 'world', 3, 4, 5.0, '123']
# 列表用extend()添加多个元素,也可以用+号
c.extend([1000,999,888,666,555])
c
## 获取列表内多元素
c[0]
c[-1]
c[2:-1:3]
c[-1:-6:-1]
c[-1:0:-1]
c[-6:-1:2]
c[2:5]=100 # 修改列表元素值
del c[2] //删除列表下标为2的元素
len(c)
c+=[0,0,0]
c[:3]*3
2 in c
max(b)
min(b)
list(c[2])
c.count(0)
c.reverse()
c[:5].sort()
c.index(4)
c.insert(0,-1000000)
c.pop()
c.remove(0)
'''
'''
- 元组: 元组和列表十分类似,只不过元组和字符串一样是不可变的,即不能修改、增减元组。
python
复制代码
t = () # 空元祖
t0=(1,) # 元祖里只有一个数据,在数值后加逗号","。
t2 = (1,2,3,(4,5,6)) # 元祖嵌套
t2[3] # (4, 5, 6)
t2[3][1] # 5
len(t2) # 4
t2[2:4] # (3, (4, 5, 6))
t2+t0 # (1, 2, 3, (4, 5, 6), 1)
31. 字典格式:<字典名>={键1:值1,键2:值2,键3:值3,...}
32. 空字典:a={}
33. 字典嵌套:x={"a":1,"b":{"c":2}}
34. 字典键:x.keys()
35. 字典值:x.values()
36. 字典长度:len(x)
37. 删除键:del x['a']
38. 字典赋值或修改值:x["b"]=1000
39. 删除字典:del x
40. 字典添加新的键值:x["c"]= 111
41. 字典清空:x.clear()
42. x.setdefault(key,values):
43. x.iterm():
44. x.has_key(key)
45. x.get(key,default=None): 判断key是否在字典x里面,如果在,就返回其下标,反之返回None或default值。
46. x.copy()
47. x.update(dict2)
48. 字典的键必须是常量,如果是列表就报错。
49. while
50. if else:
51. for(){}
52. x.pop(key):
53. 集合:无序和无重复元素的集合. 形式set(),不含重复值。x = set([1,2,3,1,2,2,,1,3])-->{1, 2, 3}
54. set添加元素到: x.add(100) --> {1, 2, 3, 100}
55. 集合删除元素:x.remove(3)-->{1, 2, 100}
56. 集合交集:set([1,2,3]) & set([2,3,4]) --> {2, 3}
57. 集合并集:set([1,2,3]) | set([2,3,4]) --> {1, 2, 3, 4}
58. 函数:完成特定功能的一个语句组。
59. 函数格式:def 函数名(参数):<函数体>
60. 形式参数:在定义函数时函数名后面圆括号中的变量名称。
61. 实际参数:在调用函数时,函数名后面圆括号中的变量名称。
62. int('123')-->123
63. int(123.123)-->123
64. str(123)-->'123'
65. bool(1) --> True
66. bool(-1) --> True
67. bool(0) --> False
68. 函数名本质:指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个"别名"。 a = abs;a(-1)-->1
69. int('110',2): 二进制字符串,转换成十进制
70. int('16',8):2 ------------> 8
71 . bin(123): 2 to 10 进制
72.模块基: 一个包含了已定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
73.
例1:一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
python
复制代码
def re(m,n):
'''
计算定期存款n年后的本息
:param m: 本金
:param n: 年数
:return: 本息
'''
return m*(1+0.0325)**n
n = 1
m = 10000
while(re(m,n)<20000):
n+=1
n
'''
22
'''
- 写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出.
python
复制代码
def sushu(x):
t = 2
while(t<x):
if (x%t==0):
return -1
t += 1
return x
for i in range(100):
if sushu(i)>0:
print(i)
- 求1~100间所有偶数的和。
python
复制代码
sum(range(0,101,2))
- 从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。
python
复制代码
def score():
s = int(input())
while(s<0 or s>100):
s = int(input())
if (s>90):
return "A"
elif (s>80):
return "B"
elif (s>70):
return "C"
elif (s>60):
return "D"
else :
return "E"
score()
- 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。
python
复制代码
def sum(n):
s = 1
for i in range(0,n-1):
s = (s+1)*2
return s
sum(n=10)