python创始人 吉多.范罗苏姆 时间1989圣诞节
python : 优雅 清晰 简单,是一个毓秀广泛使用的语言.
python优缺点 优点:优雅 清晰 简单,开发效率高, 高级语言,具有可移植性,可扩展性,可嵌入性,
缺点: 速度慢 代码不能加密 线程不能利用多cpu问题
目前Python主要应用领域:
云计算: 云计算最火的语言, 典型应用OpenStack
WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型
WEB框架有Django
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维: 运维人员必备语言
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
图形GUI: PyQT, WxPython,TkInter
编译型vs解释型
编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率 高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植 就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可 以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。.
pytho解释器
CPython IPython PyPy Jython IronPython
python #注 释 (给人看的) 文档注释 """ """
# 变量
print(1+2)
print(1+2+3)
print((1+2+3)*8)
print((1+2+3)*8+6)
print(((1+2+3)*8+6)*2)
变量 .程序运行过程中产生的值.临时保存在变量中,供后面的程序使用
a =1+2+3 a= 6 先算右边的,然后赋值给左边的变量
# 注释 给人看的 # 单行注释 ''' 多行注释。 文档注释 """ print(1+2) print(1+2+3) print((1+2+3)*8) print((1+2+3)*8+6) print(((1+2+3)*8+6)*2) ''' # 变量。程序运行过程中产生的值。临时保存在变量中。 供后面的程序使用 '''a = 1+2+3 # a = 6 先算右边。然后赋值给左边的变量 print(a) # 6 print(a*8+6)#54 b = a*8+6 #54 print(b*2) #108 a = 3 b = a # 程序从上向下逐行依次执行 a = 5 print(b) ''' # python变量的命名规范 # 1. 只能是字母, 数字, 下划线组成 # 2. 不能数字开头或者全数字(强制规定) # 3. 不能是python的关键字 def if while # 4. 不要用中文 # 5. 不要太长 # 6. 尽量有意义 # 7. 推荐使用: # 1. 驼峰体,单词首字母大写 # 2. 下划线,单词用下划线分开 #ageOfAlex = 128 #taiBaiJinXing = 128 #yin_wang_de_nian_ling = 55 # 数据类型(初始) # 在python中每个变量都是有类型的 #1.整数(int). 1,2,3,6 #2.字符串(str). # 字符: 你能看见的单一文字符号 # 字符串:一堆字符按照固定的顺序排列 # 用',",''',""" 括起来 #3.布尔(bool) 对和错, 真和假. True(真), False(假) # type(变量) 告诉你. 这个变量是什么类型的 #s = '周杰伦' #ss = "周润发" #sss = '''周春远''' #ssss = """周星星""" #print(ssss) # alex说:"银角大王很帅!" #print('alex说:"银角大王很帅!"') # 北京欢迎您 #print('''北京欢迎你 #我家大门常打开 #开放怀抱等你 #后面忘了 #''') #print("") #空字符串 #print(" ") # 空格 ''' a = "周润发" print(type(a)) # 打印a的数据类型 => str b = 128 print(type(b)) c = True print(type(c)) # print(1+2) a = '1' # 字符串 b = '1' # 字符串 # 两个字符串相加是字符串连接 print(a+b) # 字符串"11" a = "银王" print(a*3) # * xx遍 ''' # 我叫sylar, 今年18岁. # 用户交互 input(提示语).会返给你输入的内容 # input接收的内容是字符串 #name = input("请输入你的名字:") # 程序会停在这里. 等待用户输入 #s = "我叫"+name+", 今年18岁." # name字符串 #print(s) #print("1"+"哈哈") #a = input("请输入a:") #b = input("请输入b:") # 字符串转换成int # int(str) #c = int(a) #d = int(b) #print(c+d) # 常量 不可变的变量, 在python中没有绝对的常量.大家约定俗成.所有的变量字母都用大写就是常量 #PI = 3.141592653 #SYLAR_BIRTHDAY = 1991 #PI = 4 #print(PI) # 打印语句 #print("12", "13") #a = 10 #b = 20 #print("a+b=", a+b, "c+d=",a+b)
程序由从上向下依次执行
a = 3
b = a
a = 5
print(b) b= 3
数据类型
(1) 整数(int)
(2)字符串(sta)
(3)布尔(BOOL)对和错 真和假
type(测试类型 用于测试这是什么类型)
print("") 空字符串
print(" ")空格
打印a的数据类型
print(type(a))
用户交互
input(+提示语),系统会返还给你输入的内容 input接受的内容是字符串
name = input(" 请输入你的名字:").
age = input("请输入你的年龄")
把字符串转成int
int(sta)
if 条件判断
if:(如果)
money(钱) > 500 (条件):
代码块 条件成立输出print("事件")
else:(否则,天剑不成立)
print("输出事件").
多判断
if a = > 500:
成立的话print("事件")
elif a > 400:
(重新判断符合输出事件 不符合继续 elif..)
else:
(结束)
while 循环
flag(标记) = True(真)
count(计算) = 1
while flag:
print("1.怒目而视")
print("2.你愁啥")
# 语法:
while 条件:
代码块
说明: 判断条件是否为真. 如果真,执行代码块(循环体),执行完继续判断条件是否为真. 如果真.继续执行.直到条件为假停止循环.
print("3.瞅你咋地")
print("4.上")
count(计算) = count(计算) + 1 # count会自增
if count == 6:
flag = False(假)
print("吃饭")
语法
while 条件:
(代码块)
说明: 判断条件是否为真.如果真,执行代码块(循环体)
数数问题
index = 1 while index < 101: print(index) index = index + 1 1+2+3+4+....+100=? index = 1 sum = 0 while index < 101: sum = sum + index index = index + 1 print(sum) 1+2+3+4+....+100=? index = 1 sum = 0 while index < 101: sum = sum + index index = index + 1 print(sum)