Python基础1
一:python的由来和发展
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
2017年7月的TIOBE排行榜,Python已经占据第四的位置, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等
二:Python的种类
CPython
当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
三:Python2与Python3的区别
python2:
1,源码都含有php,Java,C,等语言的规范陋习,
2,重复代码特别多.
python3:
源码很规范,清晰,简单,符合python的宗旨.
四:解释型与编译型语言的区别及优缺点
(1)解释型:解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译 。每个语句都是执行的时候才翻译,这样解释性语言每执行一次就要翻译一次,执行效率比较低。比如:python,php。它的优点就是开发速度快,可以跨平台。缺点是执行效率慢。
(2)编译型:编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。比如C,C++等它的优点就是执行效率快,缺点就是开发速度慢,不能跨平台。
五:变量
变量:将运算的中间结果暂存到内存,以便后续程序调用.
变量的规则:
1,变量是由数字,字母,下划线,任意组合。
2,变量不能以数字开头。
3,变量不能是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']
4,变量名不能由中文表示。
六:注释
便于别人,或者自己理解.单行注释:#多行注释:'''被注释内容''' """被注释内容"""
七: 基础数据类型(初识).
数字:int
取值范围:32位 64位在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,-9223372036854775808~9223372036854775807主要用于计算:+-*/ ** % //.....
字符串:str
在Python中,凡是用引号引起来的,全是字符串
布尔值:bool
八:用户交互.input
name = input('请输入名字:') age = input('请输入年龄:') print(type(age)) hobby = input('请输入你的爱好:') print('我叫'+name,'今年'+age,'爱好'+hobby)
python3 input;python2 raw_input
九:if语句
第一种:
if 条件:
结果
if 3 > 2: print(666) print(777)
第二种
name = input('请输入名字:') if name == 'alexsb': print(name) else:print('请重新输入')
第三种
num_guess = input('请输入数字') if num_guess == '1': print('去吃饭') elif num_guess == '3': print('请你喝酒') elif num_guess == '5': print('大宝剑') else: print('你傻不傻....')
第四种
name = 'alex' if name == 'alex': print('666') elif name == 'alex': print(111)
第五种:嵌套
name = 'alex' if 3 > 2: if name == 'alex': print(666) else:print(111) print(222)
成绩匹配代码:
score = int(input("输入分数:")) if score > 100: print("我擦,最高分才100...") elif score >= 60: print("C") elif score >= 90: print("A") elif score >= 80: print("B") elif score >= 40: print("D") else: print("太笨了...E")
十:while循环
比如:设计程序:打印1,2,3.....100
flag = True count = 1 while flag: print(count) count = count + 1 if count == 101: flag = False
或者
count = 1 while count < 101: print(count) count = count + 1
while,,,else
while,,,else 中若有break, 则直接跳出while,,,else; 若没有break, 则while循环结束后,再执行else。
i = 1 while i < 4: print(i) if i == 2: break i += 1 else: print('正常循环完毕')
十一:continue关键字
比如打印1,2,3,4,5,6,8,9,10,源代码如下:
count = 1 while count < 11: if count == 7: count = count + 1 continue else: print(count) count = count + 1
十二:break关键字
利用break关键字打印1--100,源代码如下:
start = 1 while True: print(start) start = start + 1 if start == 100: print(start) break
相关练习题如下:
1,使用while循环输入1,2,3,4,5,6,8,9,10
start = 1 while start < 11: if start == 7: pass else: print(start) start = start + 1
2,求1 - 100的所有数的和
sum = 0 start = 0 while start < 100: start = start + 1 sum = sum + start print(sum)
3,输出1 - 100内的所有奇数
start = 1 while start < 101: if start%2 == 1: print(start) start=start+1 else: start = start + 1
4,输出1 - 100内所有的偶数
start = 1 while start < 101: if start%2 == 0: print(start) start=start+1 else: start=start+1
5,求1-2+3-4+5…99的所有数的和
sum=0 start=0 while start < 99: start=start+1 if start%2 == 1: sum=sum+start else: sum=sum-start print(sum)
6,用户登录(三次机会重试)
start = 0 while start<3: name = input("请输入用户名:") password = input("请输入密码:") if name == "hello" and password == "666": break else: start=start+1 print("用户名或密码输入错误,请重新输入") print("用户名和密码输入正确")