python基础一
一 Python历史需知
Python的创始人为吉多·范罗苏姆(Guido van Rossum)。人称龟叔。
Python2x的源码混乱,重复率高,不规范。而Python语言崇尚优美、简单、清晰。
所以龟叔创建了Python3x,去除重复代码,统一标准,规范化。
二 Python环境
编译型:一次性将全部代码编译成二进制文件。代表:C,C++
优点:执行效率高。(0.01s)
缺点:开发速度慢,不能跨平台。
解释型:程序运行时,从上到下一行一行解释成二进制。代表:PHP、Python
优点:开发速度快,可移值平台。
缺点:执行效率低。(0.1s)
Python 是一门 动态解释性 的 强类型语言。
三 Python的种类
CPython是使用最广的Python解释器。
四 内容编码
Python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),
而Python3对内容进行编码的默认为utf-8。
在Python2 首行添加:# -*- encoding:utf-8 -*- 解决中文报错问题。
五 变量
变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
变量定义的规则:
-
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- Python关键字不能声明为变量名
- 变量的定义要具有可描述性
- 不能为中文,不能为拼音
推荐定义方式
#下划线 age_of_oldboy = 56 number_of_students = 80
六 常量
Python中,没有事实上的常量,约定将变量名全大写的变量默认为常量。
七 注释
当行注释:# 被注释内容
多行注释:'''被注释内容''',或者"""被注释内容"""
八 程序交互input
input接收的所有输入默认都是字符串格式。
# 将用户输入的内容赋值给 name 变量 name = input("请输入用户名:")
九 基础数据类型(初始)
1 整数类型(int)
在Python3里不再有long类型了,全都是int。
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1。
2 字符串类型(str)
注意: 在Python中,加了引号的字符都被认为是字符串!
单双引号没有任何区别,多行字符串必须用多引号。
msg = ''' 今天我想写首小诗, 歌颂我的同桌, 你看他那乌黑的短发, 好像一只炸毛鸡。 ''' print(msg)
字符串拼接:字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接。
字符串可以和数字相乘,进行重复。
3 布尔值(True,False)
#type()是查看数据类型的方法。
十 格式化输出
%是占位符,%s就是代表字符串占位符,还有%d,是数字占位符。
当百分号与占位符同用时,加一个转译符号%。
十一 初始编码
ASCII 最多只能用 8 位来表示(一个字节),主要用于显示现代英语和其他西欧语言。(英文、数字、特殊字符)
Unicode(统一码、万国码、单一码)为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),
因为中文不够用,升级为32位。占用资源多。
UTF-8,是对Unicode编码的压缩和优化,将所有的字符和符号进行分类:
ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚(中文)的字符用3个字节保存。
GBK 中国人发明,用2个字节表示一个中文字符。只能用于表示中文和ASCII码中的文字。
8位 = 1 个字节
8 bit = 1 byte
1024byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1TB
十二 逻辑运算
1 优先级关系为( )>not>and>or,同一优先级从左往右计算。、
2 x or y , x为真,值就是x,x为假,值是y;
当有多个 or 时,从左到右,直到遇到不为零(数字或True)的 x , 马上返回 x (数字或True) , 不需再继续看下去。
x and y, x为真,值是y,x为假,值是x。
当有多个 and 时,从左到右,直到遇到为(0或False)的 x , 马上返回 x (0或False) , 不需再继续看下去。如果一直不为零,则返回最后一个 x (数字或True)。
例题:3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 结果为 2
十三 if 条件判断
在Python里,用 强制缩进 区分代码块。
Python的缩进有以下几个原则:
-
-
- 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格
-
第一种用法:单分支
if 条件: 满足条件后要执行的代码
第二种用法:双分支
if 条件: 满足条件执行代码 else: if条件不满足就走这段
第三种用法:多分支
注意:这代码是从上到下依次判断,只要满足一个,就不会再往下走。
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
第四种用法:嵌套
if 条件: if 条件: 条件满足执行代码 else 条件: 上面的条件不满足就走这个 else: 上面条件不满足就走这段
十四 while 循环
第一种用法:
while 条件 : #循环体 #条件满足,执行循环 #条件不满足,跳出循环
终止循环:
- 改变条件
- break:完全跳出循环体。
continue:结束本次循环,进行下次循环。
例子:continue
count = 0 while count <= 100 : count += 1 if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop continue print("loop ", count) print("-----out of while loop ------")
第二种用法:while ... else ..
当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句。
count = 0
while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循环正常执行完啦 -----out of while loop ------
如果执行过程中被break啦,就不会执行else的语句
count = 0 while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1 Loop 2 -----out of while loop ------
如果将break换成pass,将会跳过,继续执行else