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);
字符串处理函数
a = 'hsw'
a. upper( )
a. find( 'h' )
a. replace( 'w' , 'Wong' )
'''
'''
表达式:通过使用运算符和函数对字面值进行处理而构建起来的。
序列类型:指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。
列表:不同类型数据的序列。
import string
import numpy
a = [ 1 , 2 , 3 ]
b = [ "hello" , "world" , 3 , 4 , 5.0 ]
c = a+ b
c
c. append( '123' )
c
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 )
'''
'''
元组: 元组和列表十分类似,只不过元组和字符串一样是不可变的,即不能修改、增减元组。
t = ( )
t0= ( 1 , )
t2 = ( 1 , 2 , 3 , ( 4 , 5 , 6 ) )
t2[ 3 ]
t2[ 3 ] [ 1 ]
len ( t2)
t2[ 2 : 4 ]
t2+ t0
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%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
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
'''
写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出.
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间所有偶数的和。
sum ( range ( 0 , 101 , 2 ) )
从键盘接收一百分制成绩(0100),要求输出其对应的成绩等级A E。其中,90分以上为’A’,8089分为’B’,70 79分为’C’,60~69分为’D’,60分以下为’E’。
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天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。
def sum ( n) :
s = 1
for i in range ( 0 , n- 1 ) :
s = ( s+ 1 ) * 2
return s
sum ( n= 10 )