python-02-数字类型/变量/运算符

一、数字类型
python和其他编程语言(C/java...)数字类型差不多,不过多一个复数类型,但是不常用
不同的类型,在内存中存储时候所占的内存不一样
1.python中的数字类型有四个:整型(int)、浮点型(float)、布尔(bool)、复数(complex)
a.整型(int):包含python所有的整数,python3.x整型只有int类型这一种,但是python2.x除了int还有long
100 123 -78 +782
b.浮点型(float):包含python所有的小数
注意:浮点型支持科学计数法
12.89 -123.9098 +237.890

print(12e2)      # 12*10^2    1200.0
print(12e-3)     # 12*10^(-3)    0.012 

c.布尔(bool): 布尔类型的值只有两个,分别是True(真)和False(假)
注意:布尔值的首字母是大写的
True对应的数值其实是1, False对应的数值是0

print(False+1) 
# 结果是1

d.复数(complex)
复数:有实部和虚部组成的数字 10+10j
2.type(数值/变量): 获取括号中值的类型

print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))

结果为:




3.类型名():将其他的类型的数据转换成当前类型

print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
# print(float(100+10j))   # 注意:复数不能转换成整型/浮点型

结果为:
12
True
100.0
(100+0j)

二、变量
1.什么是变量
声明变量,就是在内存中开辟空间存储数据。变量就是程序在内存中存储数据的容器
2.怎么声明变量
C/Java声明变量: 类型 变量名 = 初值;
Python声明变量: 变量名 = 初值
说明:
a.变量名:程序员自己命名,要求是标识符,并且不能是关键字;
所有的字母必须是小写的,如果变量名是由多个单词组成,多个单词之间用下划线隔开;
见名知义(看见变量名,要知道这个变量大概存的是什么样的数据)
b. = :赋值符号,功能是将=右边的值赋给左边的变量
c.初值:有值的表达式(具体的字面量、其他已经声明过的变量)

# 声明一个变量number,并且赋值为100
number = 100 
print(number)

结果为100

# True = 12.5   # SyntaxError: can't assign to keyword
# 1abc = True   # SyntaxError: invalid syntax
# ABC = 10j
# 声明一个变量student_name,赋值为'小明'
student_name = '小明'
print(student_name)

结果为:
小明
注意:虽然int、float、bool、str等不是关键字,但是在需要命名的时候最好不用他们来命名。否则会改变他们原来的功能

int = 100
print(int(80.9))

结果:
TypeError: 'int' object is not callable
3.声明完一个变量可以给变量重新赋值
重新赋值后,新的值会覆盖变量中原来的值

student_name = '小花'
print(student_name)

# python中,同一个变量可以存储不同类型的值
student_name = 100
print(student_name)

结果为:
100
4.同时声明多个变量
变量名1=变量名2=变量名3 = 初值

a = b = c = 123
print(a,b,c)  # print同时打印多个数据,多个数据之间用逗号隔开

结果为:
123 123 123

# 将变量student_name中的值,赋给new_name
new_name = student_name

# 注意:变量只有在赋完值后才能使用(只能声明后才能使用)
print(new_name2)      # 报错:definedNameError: name 'new_name2' is not 

三、运算符
python中运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算
1.数学运算符: +, - , * , /, %, //, **
a. +:求和,和数学中的+号功能一样

print(100 + 10)
print(-100 + 10)
print(12.5 + 3.14)

结果为:
110
-90
15.64
b. - :求差,和数学中的-号功能一样

result = 99 - 23   # 将99-23的结果赋给变量result
print(result)

结果为:
76
c. * :求乘积,和数学中的×号功能一样

print(1.23 * 3)
print(-1.23 * 2)
print(-1.23 * -2)

结果:
3.69
-2.46
2.46
d. /(除):求商, 和数学中的÷号功能一样
注意:和C语言中的/不一样

print(5/2)  # 2.5
print(12.5/5)

结果:
2.5
2.5
e. %:求余数
注意:python中小数和整数都可以求余数

print(5%2)
print(6%2)
print(5.0 % 0.2)

结果:
1
0
0.19999999999999973
f. //(整除):求商,结果只取商的整数部分

print(5 // 2)
print(6.4 // 2)

结果:
2
3.0
g. **(幂运算): 求幂
x ** y : 求x的y次方
技巧:可以通过把y的值设置为1/2(0.5)来求一个数的开平方

print(2**3)
print(100**0.5)

结果:
8
10.0
2.比较运算符: >, <, ==, !=, >=, <=
所有比较运算的结果是布尔值:True/False
==: 判断左右两边的值是否相等, =:将右边的值赋给左边的变量

print(100 > 10)
print(100 < 10)
print(12.5 == 12.5)
print(10 == 12.5)
number = 10
print(number == 100)  # False
print(number)
print(number != 100)  # True

print(100 >= 100)
print(10 < 11)      # True
print(10 <= 10)   # True

结果:
True
False
True
False
False
10
True
True
True
True
3.逻辑运算符: and(与), or(或), not(非)
逻辑运算符的结果是布尔值。运算对象也必须是布尔值
a. 值1 and 值2:两个都为True,结果才是True。否则都是False
and相当于生活中的并且

print('==============================')
print(True and True)   # True
print(False and True)  # False
print(True and False)  # False
print(False and False) # False

结果:

True
False
False
False

练习:设置获得奖学金的条件:绩点在3.5以上,并且操评分高于90分

grade = 3.8
score = 95
# 条件一:
grade > 3.5
# 条件二:
score > 90
# 两个条件同时满足
print(grade>3.5 and score > 90)

结果:
True
什么时候使用and: 要求多个条件同时满足的时候使用and连接

b. 值1 or 值2:两个都我False的时候结果才是False,否则就是True
print('=======================')
print(False or False) # False
print(True or False) # True
print(True or True) # True

结果:
=======================
False
True
True
# 练习:是否穿毛衣出门:温度低于20度,或者风速高于5级

temperature = 18
wind_speed = 4

条件一:

condition1 = temperature < 20 # condition1 = True

条件二:

condition2 = wind_speed > 5 # condition2 = False
print(condition1 or condition2)

结果:
True
# 什么时候使用or: 要求多个条件中只要有一个条件满足

3. not 值: 值取反(True -> False; False -> True)

print(not True)
print(not False)
age = 18

条件:年龄不大于18

print(age <= 18)
print(not age > 18)

结果:
False
True
True
True
# 否定某个条件的时候使用not
4.python中and和or会有短路现象
and的短路现象:值1 and 值2 --> 一旦确定值1的值是False,就不会再去执行判断值2
or的短路现象:值1 or 值2 --> 一旦值1的是True,就不会再去执行判断值2

def func1():
print('没有发生短路')
False and func1()
True or func1()

# 5.赋值运算符: =, +=, -=, *=, /=, %=, //=, **=
# 赋值运算符的左边必须是变量。赋值的时候是先算赋值符号右边的结果,然后再将结果赋给左边的变量

100 = 100 # SyntaxError: can't assign to literal

result = 10 > 100
print(result)

结果:
False
 a. =: 单纯的将=右边的值赋给左边
 num1 = 100
 b. +=, -=, *=, /=, %=, //=, **= 
 要求左边的变量本身必须是有值的
 变量1 += 值  ----> 变量1 = 变量1+值

num2 = 100
num2 += 10 # 相等于: num2 = num2 + 10
print(num2)

num3 = 4
num3 *= 2 # 相当于: num3 = num3 * 2
print(num3)

结果:
110
8
6.运算符的优先级:
 a.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
 b.先计算优先级高的,如果优先级相等就从左往右一次运算。
 c.如果有括号,先算括号里面
 d.数学运算符中:** > *, /, % ,// > +, -

print((100 > 200) - 50* 3)

结果:
-150































你可能感兴趣的:(python-02-数字类型/变量/运算符)