python基础程序实例-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中这样定义,则称为新式类
classFoo(object):pass
#如果在python2中这样定义,则称为经典类
classFoo:pass在Python3.x中classFoo(object):pass
classFoo: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
whileTrue:print("月亮之上")print("狼的诱惑")print("人间")print("庐州月")print("我们不一样")#练习题2
flag =Truewhileflag:print("月亮之上")print("狼的诱惑")print("人间")
flag=Falseprint("庐州月")print("我们不一样")#练习题3
循环打印1-100的所有数字
count= 1
while count < 101:print(count)
count= count + 1
#练习题4
循环打印1-100所有数字的和
count= 1num=0while count < 101:
num= num +count
count= count + 1
print(num)
2.关键字
1. break 终止当前循环
实例一whileTrue:print("月亮之上")print("狼的诱惑")print("人间")break
print("庐州月")print("我们不一样")
实例二
打印1-100的之间的所有偶数
count= 1
whileTrue:if count % 2 ==0:print(count)if count > 100:breakcount= count + 1
2. continue 结束本次循环,进入下一次循环
实例一whileTrue:print("月亮之上")print("狼的诱惑")print("人间")continue
print("庐州月")print("我们不一样")
实例二
flag=Truewhileflag:print("月亮之上")print("狼的诱惑")print("人间")
flag=Falsecontinue
print("庐州月")print("我们不一样")
3. while else while循环如果被break打断,则不执行else语句。
count = 1
whileTrue: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=0for i innum:
num2= int(i) +num2print(num2)# 2.计算1-100所有数字的和
count=0for i in range(101):
count+=iprint(count)
待续