Python_基础语法_变量_数据类型及转换_运算符(2)

本节概要:

                 一、变量
                 二、基本数据类型
                 三、数据类型查看和转换
                 四、运算符

名称 内容
变量 标识符和关键字
变量的意义
变量的命名规则
和命名规范
数据类型 数据类型的意义
基本数据类型
组合数据类型
复杂数据类型
进制转换
类型查看和转换 type()方法
字符串转换整数和浮点数
字符串转布尔类型
整数转布尔类型
运算符 赋值运算符
算数运算符
比较运算符
逻辑运算符
位运算符
身份运算符
成员运算符
表达式的概念

一、变量

返回文章顶部
在程序中变量就是用来临时存储数据的容器


(一)变量的引入

1、类比生活

葡萄美酒夜光杯,欲饮琵琶马上催 饮美酒:
在这里插入图片描述

2、 代码实现

Python 编程语言中,提供了 input()可以接受用户输入的数据 通过符号(赋值符号) = 将数据存储起来,存储在等号左边的一个容器中, 等号左边的容器,在代码中就是一个字母或者单词,称为变量。

案例:练习变量

"""
变量的使用
    临时存储数据
"""
# 存储用户输入的数据
ye_guang_bei = input("倒酒:")
# 打印信息
print("葡萄美酒夜光杯,欲饮琵琶马上催")
# 打印变量【单词】
print(ye_guang_bei)

问题: 上面的代码中,用户输入的数据,使用了个 ye_guang_bei 进行了接受 - input 前面的这个字母是固定的,就只能写ye_guang_bei 吗 ?

  • 不是固定的 ,input 前面的这个字母是自定义的,随便写,什么都可以
  • 自定义的没有问题, 但是不能随便写,要符合规范

3、 案例操作:用户信息录入
用户需要录入个人资料、完成后程序自动打印用户的个人信息

"""
用户个人信息登记软件
    录入用户资料
    自动打印用户信息
"""
# 1、录入用户信息
name = input("请输入姓名:")
gender = input("请输入性别:")
age = input("请输入年龄:")

# 2、展示个人信息
print("#####################")
print("姓名:", name)
print("性别:", gender)
print("年龄:", age)
print("#####################")
input("信息打印完毕,按任意键退出.")


(二)项目规范

变量名称两种项目规范
见名知意:看到变量的名称,就大概能明白这个变量中存储了什么数据

name = "tom" #看到name名字 就意识到变量中存储的是一个名字
username = "wenwnec9" #看到username 名称,就知道存储的一个用户名称
email = "[email protected]" #看到 email 就知道存储的是邮箱

命名规则:为了让开发人员更好的阅读代码,看到一个单词就意识到这是变量

  • 官方/项目推荐:下划线命名法:变量由一个或者多个英文单词组成,每个单词全 部小写,不同的单词之间使用下划线分隔
  • 扩展/熟悉/了解:驼峰命名法:变量由一个或者多个英文单词组成,第一个单词全 部小写,后面每个单词首字母大写


(三)标识符和关键字

标识符: 在程序开发过程中自定义名称,就是上面我们提到的变量
关键字: Python 作为编程语言,使用了一些特殊意义的单词,这些单词别成为编程语言的关键字

查看系统关键字:

import keyword
#输出可以看到系统关键字,命名变量得时候不能与系统变量相同
print(keyword.kwlist)

小贴士:PEP8 命名规范
1.恒定量(常量)使用全大写与下划线:比如规定的不可更改的变量的值
2.私有变量使用前导下划线和小写,如:_message
3.一般的变量则应该: 全小写,用下划线隔开 表示类型的字母放在最前面 作用或要完成的工作则在中间 属于谁放在最后,或可省略 例如:numpy_creat_data_set_test 表示的意思是: 该变量是 Numpy 类型,被创建为一个数据集,用于测试(test 这个函数的内部变量)
4.当一个变量被用于保存于布尔值时,做好使用 is 或 has 作为前缀,这样更易于理解
5.当一个变量被用于保存序列时,最好使用复数形式
6.当一个变量被用于临时保存时,最好加上 temp_的前缀
7.当一个变量被用于作为字典时,应该使用显示名称,如一个用来保存个人地址的变 量:person_address
8.应当避免使用通用名称,现有名称(已有名称,变量 i,j 可以循环使用), 避免关键字,非得使用可以使用后缀下划线
9.类名使用驼峰命名法,当定义的是模块的私有类时,还可能有一个前导下划线


(四)变量的总结

(1) 什么是变量 [了解]
变量是程序中临时存储数据的容器,用自定义的一个字母或者单词表示
(2) 变量的命名规范[熟悉]

  • 语法规范:名称由英文单词、数字、下划线组成,数字不能开头
  • 项目规范:见名知意-看到变量名称,就大致能猜到变量中存储的什么数据
  • 项目规范:下划线命名法-变量由一个或者多个英文单词组成,每个单词全部小写, 不同的单词之间使用下划线分隔;拓展~了解[驼峰命名法]
  • 使用注意:变量的名称,不要写 Python 中的固定语法的词语,如 print/input

(3) 变量的使用

  • 变量先声明赋值,后使用变量
  • name = “damu” print(name) 正确
  • print(age) 错误:因为 age 这个变量还不存在!

(4) 变量的赋值(增删改查)

 #新增变量:第一次声明变量和赋值时候,称为初始化 
 name = "tom" #看到name名字 就意识到变量中存储的是一个名字
 #修改变量: 
 name = "wenwnec9" #修改原有存储数据为wenwnec9
 #查看数据: 
 print(name) #通过变量名称,直接获取数据
 #删除数据:
 name = "" #空白字符
 del name #永久删除

(5) 扩展:变量的连续赋值

a,b,c="aa","bb","cc"
print(a,b,c)

二、基本数据类型

返回文章顶部

(一)数据类型怎么来的?
**变量:** 在程序中可以临时存储数据【程序是用来还原生活场景】 类比生活中的场景~生活中的数据各种各样的 编程语言:参考生活中的案例,抽取出来基本的数据,用来描述生活中的各种事物 | 类比生活 | |:--------:| -------------:| | 电脑(事物):描述~ 颜色(字符)、品牌(字符)、重量(小数 2.5)、屏幕尺寸(小数 14.2)、CPU 型 号(字符 i7)、内存大小(整数 8)、硬盘大小(整数 512) (人):姓名(字符)、性别(字符)、年龄(整数)、体重(小数)… | 数据类型:用于描述不同事物的概念!从生活中抽取出来的


(二)数据类型有哪些?

数据类型:用于描述不同事物的概念!从生活中抽取出来的! Python 编程语言中,规范了三大类数据类型

1.基本数据类型
字符串 描述一段信息的,编程语言中用:str 表示字符串 字符串是使用双引号、单引号、三对引号包含起来的多个字符
数值 描述数字
整数 编程语言中用:int 表示整数
浮点数 数值+浮动的小数点~小数,编程语言中用:float 表示浮点数
复数 程序开发过程中做一些复杂数学运算时会用到(实数+虚数) 编程语言中用:complex 表示复数 x = 12 + 3j
布尔类型 描述一个事情的结果[正确 True 失败 False] 布尔类型的数据,只能存储 True(真) False(假) 两个数据之一
2.组合数据类型 一个变量中用来保存多个数据(一组数据),可以使用 Python 提供的组合数据类型 组合数据类型(后面详细讲解)
列表 list
元组 tuple
集合 set
字典 dict
3.对象数据类型 对象数据类型,一个变量中可以保存一个对象数据,一个对象数据中可以存储这个对象 拥有的所有的数据(后面详细讲解)
引用数据类型
复杂数据类型


(三)进制和进制转换?

整数可以编写为十进制 10 为基数 )、十六进制(以 16 为基数)、八进制(以 8 为基 )和 二进 制(以 2 为基数)形式
十六进制数以 Ox 或者 ox 开头,后面接十六进制的数字 1~9 和 A~F 。十六进制的数字编写 成大写或小写都可以 八进制数常以数
0o 0O 开头 (0 和小写或大写字母"O"),后面接着数字 0~7 二进制以 0b 或者 0B 开头后面只有 0~1

1、十进制转二进制

方法为:十进制数除 2 取余法,即十进制数除 2,余数为权位上的数,得到的商值继续除, 直到商为 0 为止
在这里插入图片描述

2、二级制转十进制

方法为:把二进制数按权展开、相加即得十进制数
在这里插入图片描述

3、十进制转八进制或者十六进制有两种方法

把十进制转八进制或者十六进制按照除 8 或者 16 取余,直到商为 0 为止

4、八进制或者十六进制转成十进制

"""
内置函数hex(I) oct(I) bin(I)把一个整数转换为这3中进制表示字符串。
并且int(str base)根据每个给定的进制把一个运行时 字符串转换整数
"""

#将十进制转换成十六进制
print(hex(10))
#将十进制转换成八进制
print(oct(10))
#将十进制转成二进制
print(bin(10))

#将十六进制字符串转换成十进制
print(int("12",16))
#将八进制字符串转换成十进制
print(int("12",8))
#将二进制字符串转换成十进制
print(int("12",2))

三、数据类型查看和转换

返回文章顶部
数据类型这么多,写代码的时候应该怎么用?我怎么能确定当前变量或者数据是什么类型呢 在 Python 中我们可以通过 type()方法查看当前变量和数据的类型

常用的类型转换函数
在这里插入图片描述

  1. int()函数
    (1) bool 转换成 int,True 转换成 1 False 转换成 0
    (2) float 转换成 int,直接将小数砍掉
    (3) str 转换成 int,只能转化由纯数字组成的字符串
  2. float()函数
    (1) bool 转换成
    float,True 转换成 1.0 False 转换成 0.0
    (2) int 转换成 float,直接添加.0 例如 10 10.0
    (3) str 转换成 float,只能转化由纯整数或者浮点数组成的字符串
  3. str()函数
  4. chr() 函数 按照 UTF-8 编码表,将十进制的数字转换成对应的字符
  5. eval()函数 将公式字符串转化成公式

案例操作:简易计算机

"""
数据类型:
    案例操作:简易计算器 加法 案例

    问题分析:输入10,输入20,预期:30
        结果:1020
        分析:我们在程序中,可能用错了数据类型

    查看类型
        python提供了type(数据)可以直接查看数据是什么类型
        查看的结果,n1和n2都是字符串
        字符串使用加号 +,进行运算的时候,就会拼接到一起
        所以程序运行的结果不是我们想要的!
        结论:input()从键盘输入的数据,都是并且只能是字符串!

    解决方案
        将数据,按照正确的数据类型,进行转换,就可以得到
        我们预期的结果

        Input()输入的数据 n1/n2 这是一个字符串
        我们想要的n1/n2是一个整数
            字符串数类型-> 转换-> 整数数据
                          int(n1)
        回顾:整数数据python中用什么表示?int

        >>> 0453 9053同学~找助教老师~修改昵称!
"""
# 打印 简易计算器 界面
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print("  加法计算器:可以按照用户")
print("  输入的数据,自动运算加法")
print("  最终输出结果.")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~")
input("按任意键开始操作")

# 提示用户输入数据
n1 = input("\n请输入第一个数据:")
n2 = input("\n请输入第二个数据:")

# 计算
print("n1什么类型:", type(n1)) # <class 'str'>
print("n2什么类型:", type(n2)) # <class 'str'>
res = n1 + n2

# 转换类型:将<字符串转换成整数>后运算
res2 = int(n1) + int(n2)

# 打印结果
print("加法计算机运行完毕,计算结果:", res)
print("加法计算机运行完毕(转换类型),计算结果:", res2)

四、运算符

返回文章顶部

算术运算符、逻辑运算符、赋值运算符、复合赋值运算符、关系运算符


(一)算术运算符

下面以 a=10 ,b=20 为例进行计算
在这里插入图片描述

需求 1:判断 12 是不是偶数
在这里插入图片描述
需求 2:数字逆序输出例如将 123 变成 321 输出
在这里插入图片描述
需求 3:求 2 的 3 次幂
在这里插入图片描述

在 Number 类型中包含有 4 中,int 、float、bool、复数。如果 bool 值和 int 值进行相加减 会得到什么结果呢?
例如 True+10 在混合类型的表达式中, Python 首先将被操作的对象(数字)转换成其中最复杂的操作对
象(数字)的类型,然后再对相同类型的操作对象(数字)进行数学运算 Python
划分数字类型的复杂度:bool<int<float<complex
例如当一个整数与浮点数混合时,整数首先会升级转为浮点数的值之后通过浮点数的运算法 则得到浑点数的结果
在这里插入图片描述


(二)赋值运算符

在这里插入图片描述 在 Python 中会写大量的表达式。表达式由运算符和操作数组成。像 2+3 就是一个表达式


(三)复合赋值运算符

混合了赋值运算符和算数运算符的一种语义山的快捷操作
在这里插入图片描述


(四)比较(关系)运算符

1、混合比较

在这里插入图片描述
Python 支持数字表达式的混合类型比较,同样是将简单类型转换为复杂度类型进行比较。

2、连续比较

Python 允许我们把大小比较测试连接起来,成为诸如范围测试的连续比较。 例如,表达式 (A < B < C) 测试 B 是否在 A 和C 之间 等同于布尔测 (A< B and B <C)
在这里插入图片描述


(五)逻辑运算符

将多个条件合并到一起,计算结果的过程
在这里插入图片描述
逻辑运算是有优先级的,优先级为是 not>and>or。可以添加()来提升优先级 print(True and False or not False and False)

短路逻辑:
a and b and c and d 如果 a 为 False 则后面所有的 and 均不再执行,直接返回 a 的值
a or b or c or d 如果 a 为 True 则后面所有的 or 均不在执行。直接返回 a 的值


(六)成员运算符

在这里插入图片描述


(七)位运算符

意义:将数据的运算,转移称为底层二进制数据的运算,提高数据运算效率 python 中有各种位运算符号,通常在(加密/解密)算法开发时常用
在这里插入图片描述


(八)身份算符

意义:判断符号两边的数据,是否同一个对象,python 中使用 is 表示
在这里插入图片描述

返回文章顶部

猜你喜欢

转载自blog.csdn.net/weixin_44238683/article/details/105657613