python基础知识
一:python发展
python2.6与python3.0区别:
源码不标准,混乱,重复代码过多
二:python所属类型
(1)编译型:一次性将程序全部编译成二进制
优点:运行速度快
缺点:不能跨平头,出现bug时候全部修改,开发效率低。
例子:c语言,c++
解释型:从上到下一行一行执行
优点:开发效率高
缺点:运行时候比较慢,能跨平头执行,出现问题可以改出现问题的代码就行
编译型与解释型语言:安装解释器就是解释型语言,可跨平台。
混合型语言
java与c#
强类型定义语言
一个变量被指定了某个数据类型,不强制改变,永远是这个数据类型。(一设置变量从头到尾都执行)
改变容易报错
弱类型定义语言
一个变量可以被赋不同数值
python是一种强类型动态解释型语言(python是一门动态解释性的强类型定义语言)
python优缺点
一:python 简单 明确 优雅
二:开发效率高 有第三方库
三:高级语言:python写程序时候无需担心程序使用内存的底层细节。
四:可移植性:能跨平台
五:可扩展性:把关键代码运行更快或某些算法不公开,把部分程序用c编写,然后用python使用
缺点:
一:运行速度慢
二:代码不能加密
三:线程不能用多cpu问题
(2)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的字节码。
小结:
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
三:运行第一个文件
d盘创建一个.py文件
打开Windows命令行输入cmd
输入python D: r.py敲enter
注释
单行注释:#
多行注释:''' ''' 或者'''” ''''''
四:变量
把程序运行的结果临时储存在内存中,以便后续调用。
变量规范:一:必须是有数字,字母和下划线任意组成,开头不能是数字
二:不能是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']
三:变量具有可描述性
四:不能是中文
变量:name,age,height,π,建国年龄
推荐方式
5.3、推荐定义方式(驼峰体首字母大写 下划线:字母下划线首字母可小写)
#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#下划线
age_of_oldboy = 56
number_of_students = 80
改编码方式
---(下划线 shift+(减号))
-*-incoding: utf-8—#—
变量不能是中文,不能过长,不能变量名次不达意
常量:
设置count=60 一旦更改会报错,
五:程序交互
将用户输入的内容赋值给name变量
name=input('请输入您的名字')
打印的内容
print(name)
六:基础数据类型初始(对数据类型进行划分)
整数类型(int)
32位机器取值:-2**-31到2**31-1
64位机器取值:-2**-63到2**63-1
a=2**64
print(type(a))
print(int(a)) #int()把括号里面的内容变成数字 #str()把括号里面的内容强行变成字符串 #type()表示查看数据类型
数据类型:int() str() bool值:True or False 三种
字符串可以加,并且与数字相乘
eg:
a='123'
b='abc'
print(a+b)
运行结果:123abc
字符串可以跟数字相乘
a='3'
b='abc'
print(int(a)*b)
运行结果:abcabcabc
布尔值
>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成立就是True, 即真
True
格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
name=input('用户的姓名')
age=input('年龄')
job=input('工作')
hobbie=input('爱好')
msg(name,age,job,hobbie)
print(msg)