Python概述
Python:一种解释型、面向对象、动态数据类型的高级程序设计语言
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
面向对象:面向对象是一种以你办事我放心为理想构造出来的东西 ;
动态数据类型:变量不需要指定类型
Python的优缺点:
优点:
1、易于学习---Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单
2、易于阅读---Python代码定义的更清晰
3、易于维护---Python的成功在于它的源代码是相当容易维护的
4、一个广泛的标准库---Python的最大优势之一是丰富的库
5、互动模式---互动模式的支持,可以终端输入执行代码并获得结果的语言,互动的测试和调试代码片段
6、可移植性---基于其开发源代码的特性,Python已经被移植到许多平台,在nuix、windows和mac os上的兼容性很好
7、数据库---Python提供所有主要的商业数据库的接口
8、GUI编程(图形化界面)---Python支持GUI可以创建和移植到许多系统调用
9、可扩展性---如果需要一段运行很快的关键代码,或者想要编写一些不愿开发的算法,可以使用C或者C++完成那部分程序,然后从你的Python程序中调用
10、可嵌入性---可以将Python嵌入到C或者C++程序,让你程序的用户获得“脚本化”的能力
缺点:
1、运行速度慢---和C程序相比非常慢,因为Python是解释型语言,代码在执行时会一行一行的翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢,而C程序是运行前直接编译成CPU能执行的机器码,所以非常快;
2、代码不能加密---如果要发布Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(就是windows上常见的xxx.exe)发布出去,要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去
应用:
强烈不建议使用python:运算密集型---运算程序比较多
建议使用Python:I/O密集型---网络请求居多
PS:运算密集型,动画、游戏等;I/O密集型 ,浏览器查询、请求后台等。
计算机存储:
数据是以二进制的方式存储在内存中的:
内存:临时数据,正在运行的程序,也叫运行内存;
磁盘:永久数据,软件以及文件图片。
存储单位:
最小:比特---bit/b,也叫位
1B = 8b 【1字节=8位】
1K = 1024B
1M = 1024KB
1G = 1024M
1T = 1024G
...
进制以及进制的换算:
二进制:0b
转为十进制 :当前的数字乘以2的位数次方,最后相加---位数从0开始数
转为八进制 :三位一取:低位开始取,高位不够补0
转为十六进制:四位一取,从低位开始取,高位不够补0
八进制:0o
转为二进制:一位转三位,高位不够补0
十进制:0d
转为二进制:倒除法,余数逆序
十六进制:0x
转为二进制 :一位转四位,位数不够高位补0
原码、反码、补码
正数:三码合一
负数:
反码:原码的符号位不变,其他位按位取反
补码:反码+1
PS:计算机底层处理数据的时候采用的是补码
input函数:可以让用户输入字符串,并且存放在变量中
例如:name = input("place enter your name")
PS:input输入的变量类型为字符串
用format函数进行进制转化:
二进制:0b、八进制:0o、十进制:0d 、十六进制:0x
将Z进制转化为Y进制 '{0:Y}'.format(0Z...) Y,Z取值{b,o,d,x}
拓展:
使用bin(),oct(),hex()也可进行进制转换,返回值均为字符串,且带有0b, 0o, 0x前缀.【一般推荐用format函数】