Python
Python语言类型
编程语言分为编译型和解释型语言,python 属于解释型语言
我们根据编译器对源码的翻译方式不同,把编译器分成了两种类型一种类型是编译器,一种是解释器。
使用编译器编译的语言我们叫做编译型语言,使用解释器解释的语言叫做解释型语言。
编译型语言执行过程:使用 java 开发完一个只有 3 行代码的程序,然后将这三行代码统一交给编译器进行编译,编译成.class 文件,然后交给操作系统。
当再次执行这个程序的时候,就可以直接拿刚才生成的.class 运行。就不需要再把源码翻译成.class 文件。因为翻译只做了一次,运行的时不要翻译,所以编译型语言的程序执行效率高。
解释型语言执行过程:使用 python 开发了一个 3 行代码的源程序,当程序运行的时候一行一行的给解释器,解释器一行一行的进行解释。这样解释性语言每执行一次要翻译一次,效率表较低。
混合数字类型自动升级
在混合类型的表达式中, python 首先将被操作的对象(数字)转换成其中最复杂的操作对象(数字)的类型,然后再对相同类型的操作对象(数字)进行数学运算。
python 划分数字类型的复杂度:bool<int<float<complex
数字类型强制转换
可以通过内置函数对数字类型进行强制转换。
将 int 强制转换成 bool。 0 转换成 False,非零转换成 True。
将 bool 强制转换成 int。False 转换成 0,True 转换成 1。
将 int 转换成 float 。 直接添加一个 0 小数。
将 float 转换成 int。 直接砍掉 小数部分。
float 和 bool 进行转换同 int 和 bool 进行转换。
# 1.将int强制转换成bool
print(bool(18)) # True
print(bool(e)) # False
# 2.将bool转换成int
print(int(False)) # 0
print(int(True)) # 1
# 3.将float转换成int
print(int(3.64)) # 3 3.64砍掉小数
# 4.将int特换成float
print(float(3)) # 3.0
# 5.将bool转换成float
print(float(True)) # 1.0
# 6.将float转换成bool
print(bool(3.14)) # True
input() 函数
input() 函数接受一个标准输入数据,返回为 str 类型。
格式:变量 = input()
注意:接受的所有内容都是字符串。
a = input("请输入西红柿单价:") # input输出的都是字符串 在控制台输入4.4
print(a, type(a))
b = float(a)
print(b, type(b))
# 浮点型字符串不能直接转换成int类型,需要先转换成float类型
# 法一:
c = float(input("请输入西红柿单价:"))
b = int(c)
print(b, type(b))
# 法二:
price = int(float(input("请输入西红柿单价:")))
print(price)
# 整型字符串能直接转换成int类型
number = int(input("请输入人数"))
print(number)
二进制、八进制和十六进制
整数可以编写为十进制(以 10 为基数 )、十六进制(以 16 为基数)、八进制(以
8 为基 )和 二进制(以 2 为基数)形式。
十六进制数以 0x 或者 0x 开头,后面接十六进制的数字 1~9和 A~F 。十六进制
的数字编写成大写或小写都可以。
八进制数常以数 0o 或者0O 开头 (0 和小写或大写字母"O"),后面接着数字 0~7。
二进制以 0b 或者 0B 开头后面只有 0~1。
其他进制转十进制
以十六进制转十进制为例的三种方法:
# 十六进制转十进制的三种方式
print(0x12) # 18
print(int('12', 16)) # 18
print(int(0x12)) # 18
十进制转其他进制
内置函数 hex(I) oct(I) bin(I)把一 个整数转换为这 3 种进制表示字符串。
# 十进制转二进制
print(bin(57)) # 0b111001
# 十进制转八进制
print(oct(697)) # 0o1271
# 十进制转十六进制
print(hex(239876)) # 0x3a904
字符串类型
使用引号(双引号或者单引号)包裹的内容都是字符串。
字符串间的操作
1.+ 表示拼接
2.* 表示重复拼接
类型转换函数
chr()函数:将一个整数转换为一个字符
ord()函数:将一个字符转换成为一个数字
# 对应ACII表
# chr(x ) 将一个整数转换为一个字符
a = chr(65)
print(a) # A
# ord()函数 将一个字符转换成为一个数字
a = 'A'
b = ord(a) # 字符转换成ACII数字
print(b) # 65
str(x )函数: 将对象 x 转换为字符串
a = 4.5
b = str(a)
print(b, type(b)) # 4.5 <class 'str'>
eval(str ) 用来计算在字符串中的有效 python 表达式, 并返回一个对象
a = "1+2"
print(a) # 1+2
b = eval(a)
print(b) # 3
算数运算符
- 加 +
- 减 -
- 乘 *
- 除 /
- 取整除 //
- 取余 %
- 幂 **
#/ 除
a=10/4
print(a)#2.5
# //得到商
b = 10 // 4
print(b)#2
c = -10 // 4
print(c) # -3 向下取整
c = -10.0 // 2
print(c) # -5.0
# %得到余数
b = 5 % 3
# 幂运算
a = 5 ** 3
print(a)
例题:三位数逆序输出
num = int(input("请输入一个三位数")) # 321
a = num % 10 # 个位
b = num // 10 % 10 # 十位
c = num // 100 # 百位
num2 = a * 100 + b * 10 + c
print(num2) # 123
复合赋值运算
a=5
a+=3 #a=a+3
print(a)#8
a=5
a-=3 #a=a-3
print(a)#2
a=5
a*=3 #a=a*3
print(a)#15
a=5
a/=3 #a=a/3
print(a)#1.66
a=5
a%=3 #a=a%3
print(a)#2
a=5
a**=3 #a=a**3
print(a)#125
a=5
a//=3 #a=a//3
print(a)#1