1 python历史
- 1991年python编译器诞生它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
- 2004年最流行的WEB框架Django 诞生
2 python是什么编程语言
-
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、
强类型定义语言和弱类型定义语言,我们主要通过编译型和解释性来划分Python是什么编程语言
-
编译型和解释型
- 编译型:只翻译一次(代表C)
- 优点:执行速度快
- 缺点:开发速度慢
- 解释型:逐行翻译(代表python)
- 优点:开发速度快
- 缺点:执行速度慢
- 编译型:只翻译一次(代表C)
-
动态语言与静态语言
- 动态语言:代码运行的时候去做类型检查的语言(python、ruby)
- 静态语言:代码变异的时候去做类型检查的语言(c++、c#、java)
-
强类型/弱类型定义语言
- 强类型定义语言:一个变量指定一种数据类型,不强制转换,就永远是这个数据类型
- 弱类型定义语言:一个变量可以赋不同数据类型的值。
-
python的种类
- Cpython:Python的官方版本,使用C语言实现,运行在Python虚拟机上
- Jyhton:Python的Java实现,在JVM上运行
- IronPython:Python的C#实现,在CLR上运行
- PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码
3 变量
-
什么是变量?
-
变量是将临时的值存储到内存中(临时存储值)
-
-
变量如何使用?
-
age=18 age 变量名 = 赋值符 18 值
-
-
变量在哪里用?
- 变量在我们后期编程中经常会被使用
-
变量命名规则:
- 变量名由字母,数字,下划线组成
- 变量名禁止使用数字开头
- 禁止使用Python中的关键字以及内置函数的名字
- 不建议使用中文和拼音
- 变量名要具有意义
- 变量名区分大小写
- 推荐写法:
- 驼峰体: AgeOfOldboy = 56
- 下划线:age_of_oldboy = 56
4 常量
- 什么是常量?
- 常量就是将变量名大写,尽量保持不更改的一种量
5 注释
- 单行注释:#
- 多行注释:""''内容""" '''内容'''
- 被注释的内容是不会执行的 注释快捷键:CTRL+/
6 数据类型
- 整型(int):用于计算和比较
- 字符型(str):在python中只要是用引号引起来的就是字符串
- 加法 -- 同是字符串才能相加
- 乘法 -- 只能和数字进行相乘
- 布尔值(bool):返回真假值 用于判断 True False
7输入(input)
-
input格式
-
# x=input("提示内容") x 变量名
-
-
注意:input获取到的内容全都是字符串
int() -- 将字符串中的数字转换成整型
type() -- 查看数据类型
8 if语句
-
if 语句格式:
-
# if 条件: (如果条件成立,则执行“结果”) # 结果 #多个if语句,不管if条件是否成立都会执行后面的if 例子:if 3>2: print("a")
-
-
if...else语句格式:
-
# if 条件: (如果if条件成立,则执行“结果1”) # 结果1 # else:(如果条件if条件不成立,则执行“结果2”) # 结果2 例子: if 3>2: print("a") else: print("b")
-
-
if...elif...elif语句格式:
-
# if 条件1: (如果条件1成立,则执行“结果1”) # 结果1 # elif 条件2:(如果条件2成立,则执行“结果2”) # 结果2 # elif 条件3:(如果条件3成立,则执行“结果3”) # 结果3 #如果条件1成立,则不执行条件1以后的代码,以此类推如果条件1不成立,条件2成立,则不执行条件3 # 例子: if 3>2: print("a") elif 5>8: print("b") elif 5<6: print("c")
-
-
if...elif...else格式:
-
# if 条件1: (如果条件1成立,则执行“结果1”) # 结果1 # elif 条件2:(如果条件2成立,则执行“结果2”) # 结果2 # else:(如果条件1,条件2都不成立,则执行结果3) # 结果3 #假如条件1成立,则不执行以后的语句,假如条件1和条件2都不成立,则执行结果3语句 # 例子: if 3>2: print("a") elif 5>8: print("b") else: print("c")
-
-
if嵌套格式:
-
# if 条件1: (如果条件1成立,则执行下面条件2语句)# if 条件2:(在条件1成立情况下,判断条件2是否成立;成立执行结果2) # 结果2 # else:(条件1成立,条件2不成立,执行结果3) # 结果2 # else:(如果条件1不成立,执行结果3) # 结果3 # 例子: sex = "女" age = 35 if sex == "女": if age == 35: print("a") else: print("b") else: print("c")
-
-
if 嵌套 进行多层判断 一般if嵌套写三层就可以了
9其他知识点
- and 和 and前后都为真才是真
- type 查看数据类型
- int("5") 将字符串5转换成整型
- str(5) 将整型转换成字符串
- == 判断前后是否相等
10 while循环
- while循环格式:
while 条件:(判断条件是否成立,成立则执行循环体,否则就不执行)
循环体(条件成立,要执行的语句)
例子
x=0 #定义变量x 并赋值为0
while x<=5: #判断x<=5是否成立,成立则执行下面循环体,否则就不执行
print(x) #输出x值
x=x+1 #x+1的值,赋值给x,然后回到条件语句 再次判断条件是否成立 -
2. 0=False,非0为True;空字符串为False,不为空字符串为True
- print(bool(0))
- print(boole(1))
3. break和continue
- break(终止本次循环)
- ```
while 1:#0是False(不成立),非0是True(成立 也称为死循环)
print(1)#输出1
break#终止循环
#结果为:1 ```
- continue:跳出本次循环,执行下一次循环(将continue伪装成循环体中的最后一个行代码)
- ```
while True:#条件为死循环,执行下面循环体
print(11)#输出11
print(22)#输出22
continue#跳出本次循环,执行下一次循环,不执行下面语句
print(33)
print(44)
#结果:11 22...
- TODO
- 打断循环的方式:手动修改条件、break
- break和continue相同之处都不执行它们以下的语句
11 字符串格式化
-
格式化简介:我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串‘,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。
-
格式化格式:
-
x=("Name:%s,Age:%s,Job:%s")#%用来格式化字符串,s将任何数据格式转换成字符串 print(x%("11","22","33"))#数据要一一对应,不能多也不能少 #结果:Name:11,Age:22,Job:33 print("Name:%s,Age:%s,Job:%s"%(input(),input(),input()))
-
-
%%代表转义成%
-
print("学习成绩:%s%%"%(input("成绩"))) #输入20 输出结果:学习成绩:20%
-
-
f 格式化格式
-
s = f"{1}{2}{3}"#f"xxxx{ 替换字段 }xxx"; print(s) #输出结果 1 2 3
-
-
TODO
-
# %s 是占的字符串类型的位置 # %d 是占的数字类型的位置 # %% 转换成普通的%号 # 按照位置顺序传递,占位和补位必须要一一对应
-
12 运算符
-
算数运算符
-
# + # - # * # / python2获取的值是整数,python3获取的是浮点数(小数2.5) # print(5/2) # //(整除-- 地板除) # print(5 // 2) # ** 幂(次方) # print(3**2) # % 模 (取余)
-
-
比较运算符
-
# > # < # == (等于) # != (不等于) # >= # <=
-
-
赋值运算符
-
# = 赋值 # += 自加 # a = 10 # a += 1 # a = a + 1 # print(a) # -= 自减 # *= 自乘 # a = 10 # a *= 2 # a = a * 2 # print(a) # /= # //= # **= # %=
-
-
逻辑运算符
-
# and (与/和) # or (或) # not (非) #执行顺序 ()、not、and、or #and 两个值都为真的时候才为真 print(3 and 4) #先判断第一个值是否为真,为真判断第二个值是否为真,不为真,则结果是假,结果为第一个值;第二个值为真,则结果为真 结果为第二个值,第二个值为假,则结果为假,结果为第二个值 #结果 4 #or 只要2个值中一个为真则为真 print(1 or 0)#先判断第一个是否为真,为真则结果为真,输出第一个值,为假,则判断第二个值是否为真,不为真,则是假,输出第二个值 #not 取相反值 假如为真 not真 则结果为假
-
-
成员运算符
-
# in 存在 # not in 不存在 # s = "alexdsb" # if "sb" not in s:#判断sb 是否存在s字符串中 # print(True) # else: # print(False)
-
13 编码初始
-
#ascii:(美国) 只能显示英文、数字、特殊字符 占8位 #gbk:(国标) 只能用于中文和ascii中的文字 英文占8位 中文占16位 #unicode:(万国码)英文占16位 中文占32位 #utf-8:(可变长的编码)英文占8位 欧文16位 中文24位 # 单位转换: # 1字节 = 8位 # 1Bytes = 8bit # 1024Bytes = 1KB # 1024KB = 1MB # 1024MB = 1GB # 1024GB = 1TB *** TB就够用了 # 1024TB = 1PB # 1024PB = 1EB