首页 > 其他 > 详细

第2章 数据基本运算

时间:2020-04-08 16:21:15      阅读:73      评论:0      收藏:0      [点我收藏+]

1.pycharm常用快捷键

  1. 移动到本行开头:home键
  2. 移动到本行末尾:end键盘
  3. 注释代码:ctrl + /
  4. 复制行:ctrl +d
  5. 选择列:鼠标左键 + alt
  6. 移动行:shift + alt + 上下箭头
  7. 智能提示:ctrl + space
  8. 代码格式化:ctrl+alt+l

2.注释

给人看的,通常是对代码的描述信息。

    1. 单行注释:以#号开头。
    2. 多行注释:三引号开头,三引号结尾。

3.函数

表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人。

例如:

    1. print(数据) 作用:将括号中的内容显示在控制台中
    2. 变量 = input(“需要显示的内容”) 作用:将用户输入的内容赋值给变量
"""
    函数(demo01)
"""
# 10:15 上课

# 字面意思:输入
# 作用:在终端中输入信息,按下回车后,信息进入程序(左边)。
# = 叫做 赋值 符号
msg = input("输吧:")
# 字面意思:打印/显示
# 作用:将程序中的信息,输出到终端。
print(msg)

输入输出:

技术分享图片

4.变量

1.定义:关联一个对象标识符

2.命名:必须是字母下划线开头,后跟字母数字下划线

                    不能使用关键字(蓝色),否则发生语法错误:SyntaxError: invalid syntax。

3.建议命名:字母小写,多个单词以下划线隔开。

                           class_name

4.赋值:创建一个变量或改变一个变量关联的数据。

                    变量名1 = 变量名2 = 数据

                    变量名1, 变量名2, = 数据1, 数据2

"""
    变量(demo02)
    练习:
        exercise01.py
        exercise02.py

        程序运行在哪里?   内存
        程序在处理什么?   数据
        作用:程序存储数据
        语法:名称 = 对象
        本质:内存示意图
"""

a = "赵敏"
b = "张无忌"
a = "敏儿"
# a与b的运算,实际操作的是变量ab所指向的数据。
# 运算结果产生新的对象
c = a + b
print(c)

# 11:25
# 其他语法
num01 = name02 = 500
num03, name04 = 800, 1000

程序中变量内存示意图:

技术分享图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

exercise01:

"""
    画出下列代码内存图
"""

class_name = 1908
stu_name = "小智"
class_name = stu_name
stu_name = "小霞"
print(class_name)  # ?

技术分享图片

exercise02:

"""
    画出下列代码内存图
"""

# 变量交换
name01 = "苏大强"
name02 = "苏明玉"
temp = name01
name01 = name02
name02 = temp
print(name01)  # ?
print(name02)  # ?

技术分享图片

5.del 语句

1.语法:

                 del 变量名1, 变量名2

2.作用:

                 用于删除变量,同时解除与对象的关联.如果可能则释放对象。

3.自动化内存管理的引用计数

                 每个对象记录被变量绑定(引用)的数量,当为0时被销毁。

6.核心数据类型

1.在python中变量没有类型,但关联的对象有类型。

2.通过type函数可查看。

(1)空值对象 None

1.表示不存在的特殊对象。

2.作用:占位和解除与对象的关联。

"""
    del 语句(demo06)
    空值对象None
"""
a = 500
b = 800
c = a
d = b

技术分享图片

(2)整形int

1.表示整数,包含正数、负数、0。

如: -5, 100, 0

2.字面值:

十进制:5

二进制:0b开头,后跟1或者1

八进制:0o开头,后跟0~7

十六进制:0x开头,后跟0~9,A~F,a~f

3.小整数对象池:CPython 中整数 -5 至 256,永远存在小整数对象池中,不会被释放并可重复使用。

(3)浮点型float

1.表示小数,包含正数、负数,0.0)。

2.字面值:

小数:1.0   2.5

科学计数法:e/E (正负号) 指数

1.23e-2 (等同于0.0123)

1.23456e5(等同于123456.0)

(4)字符串str

1.是用来记录文本信息(文字信息)。

2.字面值:双引号

"""
    数据类型(demo03)
"""

# 1. 整形  int
# 十进制:0123456789  10
a = 500
# 二进制(逢二进一):0  1  10
b = 0b10
# 八进制(逢八进一):0 1 2 3 4 5 6 7   10  11  12
c = 0o10
# 十六进制:0 1 2 3 --> 9    a(10)  --> f(15)
d = 0x10
print(d)

# type 函数 可以查看变量所指向的对象类型
print(type(a))

# 2. 浮点型
e = 1.23
# 以科学计数法表达
print(0.00000000000000000000005)  # 5e-23
print(type(e))

# 3. 字符串 str
name = "张无忌"
f = "100"  # 只是字符串不是整数100
print("name")  # 打印name,而不是变量.

(5)复数complex

1.由实部和虚部组成的数字。

2.虚部是以j或J结尾。

3.字面值: 1j     1+1j   1-1j

(6)布尔bool

1.用来表示真和假的类型

2.True 表示真(条件满足或成立),本质是1

3.False 表示假(条件不满足或不成立),本质是0

7.数据类型转换

1.转换为整形: int(数据)

2.转换为浮点型:float(数据)

3.转换为字符串:str(数据)

4.转换为布尔:bool(数据)

结果为False:bool(0)  bool(0.0)  bool(None) 

5.混合类型自动升级:

1 + 2.14  返回的结果是:  3.1

1 + 3.0    返回的结果是:  4.0

8.运算符

(1)算术运算符

+   加法

-   减法

*   乘法

/   除法:结果为浮点数

//  地板除:除的结果去掉小数部分

%   求余

**  幂运算

优先级从高到低: ()

                 **

                 *  / % //

                 +  -

(2)增强运算符

y += x      等同于 y = y + x

y -= x       等同于 y = y - x

y *= x       等同于 y = y * x

y /= x       等同于 y = y / x

y //= x      等同于 y = y // x

y %= x     等同于 y = y % x

y **= x     等同于 y = y ** x

"""
    数据类型转换(demo04)
        int  float   str

    运算符

    练习:exercise03.py
        exercise04.py
        exercise05.py
        exercise06.py
        exercise07.py

"""
# 1. 类型转换
str01 = "100"
# str -->  int
# 注意:如果字符串存储的数据,不像整形,转换失败.
int01 = int(str01)
re = int01 + 1
# int --> str
print("结果是:" + str(re))

# 2. 运算符
# (1)算数运算符+ - * /  //  %  **
num01 = 5
num02 = 2
print(num01 / num02)  # 2.5   除法:取最终结果
print(num01 // num02)  # 2    除法:取整数商
print(num01 % num02)  # 6    除法:取余数
print(56 % 10)  # 获取个位

print(2 ** 6)
# (2) 增强运算符+=  -=  *=  /=   //=   %=  **=
num03 = num01 + 5  # 不会改变num01
num01 = num01 + 5  # 变量num01 加5后创建新对象,又赋值给自身.
print(num01)  # 10

num01 += 5 # 相当于 num01 = num01 + 5

exercise03:

"""
    练习1:在终端中获取一个变量
          再获取另外一个变量
          然后编写程序,交换两个变量的数据.
          最后打印两个变量
"""
variable01 = input("请输入第一个变量:")
variable02 = input("请输入第二个变量:")
# temp = variable01
# variable01 = variable02
# variable02 = temp
variable01, variable02 = variable02, variable01
print("变量1是:" + variable01)
print("变量2是:" + variable02)

exercise04:

"""
     练习2:在终端中获取一个商品单价。5
           再获取一个购买的数量.3
           最后获取支付的金额。20
           计算应该找回多少钱。5    20 - 5 × 3
"""
# 备注:float()  int()  存在输入错误的风险
# 15:25 上课
str_price = input("请输入一个商品单价:")
float_price = float(str_price)

str_count = input("请输入一个购买的数量:")
int_count = int(str_count)

money = float(input("请输入支付的金额:"))

result = money - float_price * int_count

print("结果是:"+str(result))

exercise05:

"""
     古代的秤,一斤是十六量.
     在终端中获取两,然后计算是几斤零几量
     显示格式:几斤零几量
"""
liang_weight = int(input("请输入两:"))
jin = liang_weight // 16
liang = liang_weight % 16
print(str(jin) + "斤零" + str(liang) + "")

exercise06:

"""
    练习:
        公式:
            距离 = 加速度 * 时间的平方 * 0.5 + 初速度 × 时间
        已知(在终端中录入):距离、时间、初速度
        计算:加速度

        (距离 - 初速度 × 时间) * 2/ 时间的平方  = 加速度
"""
distance = float(input("请输入距离:"))
initial_velocity = float(input("请输入初速度:"))
time = float(input("请输入时间:"))
accelerated_speed = (distance - initial_velocity * time) * 2 / time ** 2
print("加速度是:" + str(accelerated_speed))  # round(accelerated_speed,2)

exercise07:

技术分享图片

"""
    在终端中获取一个四位整数:1234
    计算每位相加和 1+2+3+4
"""
# 16:50 上课
number = 1234
# # 方式1:
# # 个位
# unit01 = number % 10
# # 十位  1234 // 10 -->  123  % 10 --> 3
# unit02 = number // 10 % 10
# # 百位  1234 // 100 -->  12  % 10 --> 2
# unit03 = number // 100 % 10
# # 千位  1234 // 1000 --> 1
# unit04 = number // 1000
# result = unit01 + unit02 + unit03 + unit04
# print("结果是:" + str(result))

# 方式2:
result = number % 10
result += number // 10 % 10
result += number // 100 % 10
result += number // 1000
print("结果是:" + str(result))

技术分享图片

技术分享图片

(3)比较运算符

 <      小于

 <=     小于等于

 >      大于

 >=     大于等于

 ==     等于

 !=     不等于

返回布尔类型的值

比较运算的数学表示方式:0 <= x <= 100

(4)逻辑运算符

1>.与and

表示并且的关系,一假俱假。         

示例:

True and True  # True

True and False # False

False and True # False

False and False # False

2>.或or

表示或者的关系,一真俱真     

示例:

True or True       # True

True or False      # True

False or True      # True

False or False     # False

3>.非 not

表示取反

例如:

not True   # 返回False

not False  # 返回True

4>.短路运算

一但结果确定,后面的语句将不再执行。

"""
    数据类型(demo05)
        复数
        bool
    运算符
        比较
        逻辑
    练习:exercise08.py
"""
# 1.复数 = 实部 + 虚部
a = 10 + 3j
print(type(a))

# 2. bool 命题:带有判断性质的陈述句。
# 例如:我是一个男人.  结果:对True    错Flase
num01 = 10
num02 = 3
b = 10 < 3
print(b)  # F

# 3. 比较运算符 >   <  >=   <=  相同 ==   不同!=
print(10.5 > 5)  # 如果不能参与比较运算,会报错。

# 4. 逻辑运算符   and  or   not
# 判断bool的关系
# and 表示并且的关系(都得满足), 现象:一假俱假
print(True and True)  # True
print(True and False)  # False
print(False and True)  # False
print(False and False)  # False
# or 表示或者的关系(满足一个就行), 现象:一真俱真
print(True or True)  # True
print(True or False)  # True
print(False or True)  # True
print(False or False)  # False
# 非 (取反)
b = True
c = not b
print(c)  # False

逻辑运算符应用:

技术分享图片

exercise08:

# 练习:在终端获取年份(year),判断是否是闰年(True 是,Flase 不是)
# 条件:年份能被4整数,但是不能被100整除
#      年份能被400整除

year = int(input("请输入年份:"))
result = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print("是否为闰年:"+str(result))

(5)身份运算符

1.语法:

 x is y

 x is not y

2.作用:

is 用于判断两个对象是否是同一个对象,是时返回True,否则返回False。

is not 的作用与is相反

(6)优先级

高到低:

算数运算符

比较运算符

快捷运算符

身份运算符

逻辑运算符

第2章 数据基本运算

原文:https://www.cnblogs.com/livelychen/p/12624143.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!