Python基础的初始
1.初始Python
1. pythonde 发展历史
自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。
Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
2.编程语言分类
- 编译型
-
-
优点:执行效率高
-
缺点:开发效率低,不能跨平台
-
代表语言:c ,c++,java
- 解释型
-
逐行解释成二进制,逐行运行
-
优点:开发效率高,可以跨平台。
-
缺点:执行效率低
-
代表语言:python
3.Python语言有优缺点
优点
- Python程序简单易懂,初学者入门容易。
- 开发效率高,有强大的第三方库,可以在基础库的基础上再开发,降低开发周期。
- 使用高级语言,编写程序无需考虑底层细节。
- 可移植性。
- 可扩展性,部分程序可用C或C++编写。
- 可嵌入性,可以把Python嵌入C或C++程序中。
缺点
- 代码不能加密
- 多线程支持差
4.Python2.x与3.x的区别
1. 数据类型不同
py2 unicode str py3 str bytes # py2中的unicode与的py3的str相对应,py2与py3中的bytes相对应
2.默认使用解释不用
py2 ascll
py3 utf-8
3.输入与输出
# py2 print "Hello world" raw_input("Hello world") # py3 print("Hello world") input("Hello world")
4.整除
py2 中只取整数
py3 去全部
5.长度
# py2 超过长度就会自动转换long int # py3 int
6. xrange和rangede 区别
# py2 range: 在内部会立即把所有的值都会创建 xrange: 在内部不会立即创建的所有的值,只有在循环时,边循环边创建 # py3 range:在内部不会立即创建的所有的值,只有在循环时,边循环边创建
7.模块与包
# py2 文件中必须有__init__.py # py3 文件中不需要,但是建议写
8.字典
# py2: keys: 列表 values: 列表 items: 列表 # py3 keys: 迭代器,可以循环但不可以索引 values: 迭代器,可以循环但不可以索引 items: 迭代器,可以循环但不可以索引
9.内置函数map/filter
py2:返回列表
py3:返回迭代器,可以循环但不可以索引
10.类中的新式类与经典类
在Python2.x中: # 如果在python2中这样定义,则称为新式类 class Foo(object): pass # 如果在python2中这样定义,则称为经典类 class Foo: pass 在Python3.x中 class Foo(object): pass class Foo: pass # 在python3中这两个的写法一样,因为所有的类默认都会继承object,全部都是新式类,经典类只存在py2中5.变量
5.变量
变量;代指一些复杂过长的数据
注意事项:
-
变量中只能出现数字,字母,下换线
-
数字不能做开头
-
不能使用python的关键字
-
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del',
'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield'] -
-
不能使用中文
-
不能过长
-
推荐
-
驼峰体
-
下划线
-
6. 流程控制语句
基本结构
if 条件: 结果
1.单个if
if 2 > 1: print(666) print(123) num = int(input("请输入数字") if num == 1: print("你好")
2. if else 二选一
age = input("请输入年龄") if int(age) > 18: print("恭喜你成年了") else: print("小屁孩一个")
3. if elif
num = int(input("请输入数字")) if num == 2: print("你好") elif num == 3: print("你不好") elif num == 6: print("你好聪明")
4. if elif else 多选一
num = int(input('请输入数字')) if num == 2: print("你好") elif num == 3: print("烧饼") elif num == 5: print("二狗") else: print("你好笨呢")
5. 嵌套的if
username = input("请输入用户名") pwd = input("请输入密码") code = "qwer" your_code = input("请输入验证码") if your_code == code: if username == "xiaobai" and pwd == "123": print("登录成功") else: print("用户名或密码错误") else: print("验证码错误")
7.循环语句
1.while循环语句
1.while 循环语句的基本结构
while 条件: 循环体
实例:
# 练习题1 while True: print("月亮之上") print("狼的诱惑") print("人间") print("庐州月") print("我们不一样")
# 练习题2 flag = True while flag: print("月亮之上") print("狼的诱惑") print("人间") flag = False print("庐州月") print("我们不一样") # 练习题3 循环打印1-100的所有数字 count = 1 while count < 101: print(count) count = count + 1 # 练习题4 循环打印1-100所有数字的和 count = 1 num = 0 while count < 101: num = num + count count = count + 1 print(num)
2.关键字
1. break 终止当前循环
实例一 while True: print("月亮之上") print("狼的诱惑") print("人间") break print("庐州月") print("我们不一样") 实例二 打印1-100的之间的所有偶数 count = 1 while True: if count % 2 == 0: print(count) if count > 100: break count = count + 1
2. continue 结束本次循环,进入下一次循环
实例一 while True: print("月亮之上") print("狼的诱惑") print("人间") continue print("庐州月") print("我们不一样") 实例二 flag = True while flag: print("月亮之上") print("狼的诱惑") print("人间") flag = False continue print("庐州月") print("我们不一样")
3. while else while循环如果被break打断,则不执行else语句。
count = 1 while True: print(count) count = count + 1 if count > 5 break else: print(666)
2.for循环语句
1.基本格式
for 变量 in 变量
实例:
练习题 1. 实现一个整数加法计算器(多个数相加): # 如:content = input("请输入内容:") # 用户输入:5 + 9 + 6 + 12 + 13,然后进行分割再进行计算。 content = input("请输入内容:") num = content.split("+") num2 = 0 for i in num: num2 = int(i) + num2 print(num2) # 2.计算1-100所有数字的和 count = 0 for i in range(101): count += i print(count)
待续