首页 > 其他分享 >学习变量的目的及基本数据类型介绍

学习变量的目的及基本数据类型介绍

时间:2024-03-28 21:12:32浏览次数:330  
标签:info 变量 gdy age 数据类型 学习 print my name

今日练习

1.如何书写python的注释语法

【1】 单行注释

  • 单行注释是指只对一行进行注释,一旦换了一行就不生效了

  • 注释方法: # 注释内容

  • 快速注释单行代码

【2】多行注释

  • 多行注释适用于代码块

  • 注释方法: 英文状态下的三个单引号或者双引号,头尾皆需要

  • """内容"""

  • '''内容'''

【3】快速注释

  • Ctrl + /

2.变量的基本使用,以及底层原理

  • 变量就用来代表随时可能会发生改变的状态或者值
  • 变量名 = 变量值

3.变量的命名规范

  • 英文字母(大写字母和小写字母)

  • 数字(0-9)

  • 下划线(_)

  • 变量名又不能随便声明

  • 符合一定的规范

(1)可以字符+数字+下划线任意组合

  • a_1 = 1

(2)不能用数字开头

  • 1_a = 1

(3)不能将Python中的关键字作为变量名

  • 以后我们可能会用到规定好的已经具有特定含义和功能的单词

  • if = 1 # 如果

else elif

def class int float ...

['and', 'as', 'assert', 'break',

'class', 'continue', 'def', 'del',

'elif', 'else', 'except', 'exec',

'finally', 'for', 'from','global',

'if', 'import', 'in', 'is', 'lambda',

'not', 'or', 'pass', 'print',

'raise', 'return', 'try', 'while',

'with', 'yield']

4.python解释器的版本有哪些,推荐使用的版本是哪个

  • 1989年,Guido开始写Python语言的编译器。

  • 1991年,第一个Python编译器诞生。

    • 它是用C语言实现的,并能够调用C语言的库文件。
    • 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Python 2.7 - July 3, 2010

  • Python 3.6 - 2016-12-23 发布python3.6.0版

    • Python3.10版本我们学
  • 最新版本的解释器不稳定存在bug

5.python解释器的多版本共存是怎么做到的,环境变量的查找顺序是如何的

(1)查找环境变量,首先看用户变量中也没有python,没有的话查看系统变量中的path,需要用哪个版本的解释器就将之上移

(2)找到python快捷方式所在的文件夹,复制一份副本,修改成指定版本名,再去系统环境变量中上移所要用的版本

昨日内容回顾

【一】补充Python知识点

【1】pip换源

(1)临时换源

  • pip install 第三方模块 -i 第三方源

(2)永久换源

  • 如果不换源,默认使用的是Python官网的源 ---> 访问Python官网的时候发现很慢

  • 为了解决安装模块慢的问题 ---> 选择换源 ---> 可以从国内的镜像源库拉取第三方模块下载

  • 直接复制命令 ---> 因为这只会在安装完Python解释器后第一次用

  • 如果电脑中安装了多个版本的Python解释器,给一个换源,其他的解释器也会同事生效

【2】系统解释器环境和虚拟环境

(1)系统环境

  • 就是你点击安装包安装在电脑本地的环境

  • 随时随地都能使用的环境

(2)虚拟环境

  • 虚拟环境就是每一次基于已经安装的系统解释器环境在创建出来的新的解释器环境
  • 只在当前文件夹下生效
  • 创建好的虚拟环境 ---> Scripts ---> python.exe

(3)系统环境和虚拟环境

  • 我们正常开发使用系统解释器环境就可以了
  • 如果开发一个成品的大项目时,建议使用虚拟环境(将当前项目使用的包和系统中的隔开)

【二】pycharm相关知识

【1】判断当前使用的版本号

  • 右下角会显示当前使用的python解释器的版本

【2】添加解释器环境

【3】快捷键

  • CTRL + d 快速复制一行
  • Ctrl + c 复制
  • Ctrl + v 粘贴
  • Ctrl + x 剪切
  • Ctrl + alt + L 快速格式化代码
  • Ctrl + / 快速注释点名

【4】汉化

  • settings --- plugins ---> chinese

【5】自定义文件头

【6】查看系统解释器

  • setting ---> projiects ---> python interperter

【三】Python中的注释语法

【1】单行注释

  • 井号 空格 内容

【2】多行注释

  • 语法:三个引号(可以是单引号也可以是双引号)

【3】快速注释

  • 最常用的注释方法
  • Ctrl + /

【四】变量和常量

【1】常量

  • 常量就是固定不变的量
  • 即使是常量也是可以更改的,但在其他语言中常量是不允许更改的

【2】变量

  • 变量就是表示能够变化的状态和值
  • 如人的年龄,身高,体重

【3】代码中同样有名字来表示相应的值和状态

  • 身份证上的地址:常量表示

  • 年龄:变量表示

【五】变量的语法

  • 变量名 = 变量值

【1】变量名的命名规范

  • 可以使用数字 + 字母 + 下划线表示变量名
  • 可以任意组合
  • 不能数字开头
  • Python中的关键字不能作为变量名 如:if def else

【2】变量名的命名风格

  • 驼峰体
  • 大驼峰: 每一个单词的首字母都大写 UserName
  • 小驼峰: 第一个单词的首字母小写其他首字母大写 userName
  • 组合风格:任意数字 + 字母 --->下划线拼接 user_name

【六】变量的三大特性

【1】变量值 变量类型 变量内存地址

  • 实际存在的值 值的类型 实际存在的空间地址
  • 变量名 = 变量值 内部的原理
  • 变量值:就是在内存空间中开辟一块空间存储指定的值

【2】如何查看三大特性

  • 变量值:直接通过打印变量名

  • 变量类型:type()

  • 变量的内存空间地址:ID()

今日内容

【一】学习变量的目的

  • 学习变量有助于在程序中存储和操作数据,提高代码质量
  • 有了质量以后能够更加的方便操作和修改数据

【二】学习基本数据类型的目的

  • 是为了在不同的场景下使用对于的数据类型来操作数据

【三】八大基本数据类型介绍

  • 数字类型
    • 整数类型
    • 浮点数类型
  • 字符串类型
  • 列表类型
  • 字典类型
  • 布尔类型
  • 元组类型
  • 集合类型

【四】数字类型

# 【1】整数类型
# (1)用途
# 用来标识整数,最广泛使用的数据类型之一
# (2)语法
# 语法:变量名 = 数字
age = 18
# 可以查看当前变量的变量类型
print(tpye(age))	<class 'int'>
# (3)使用场景
# 可以用来表示带小数的数值	

# 【2】浮点数类型
# (1)用途
# 可以用来表示带小数的数值
# (2)语法
# 变量名 = 浮点数
weight = 90.00
print(type(weight))		<class 'float'>
# (3)场景
# 取款的时候金额和余额都不是整数
#100.00

【五】字符串类型

# 【1】用途
# 用来标识文本信息
# 【2】语法
# 变量名 = 变量值(加引号 ,一个单引号,一个双引号,三个单引号,三个双引号)
name = "dream"
print(name, type(name))  # dream <class 'str'>
name = 'Dream'
print(name, type(name))  # Dream <class 'str'>
name = '''Dream'''
print(name, type(name))  # Dream <class 'str'>
name = """Dream"""
print(name, type(name))  # Dream <class 'str'>

# 如果单双引号进行混用
name = "'name'"  # 双引号中混用的单引号
print(name, type(name))  # 'name' <class 'str'>
name = '"name"'  # 单引号中混用的双引号
print(name, type(name))  # "name" <class 'str'>
# 测试在双引号内存出现单独的单引号
name = "name'"
print(name, type(name))  # name' <class 'str'>
name = 'name"'
print(name, type(name))  # name" <class 'str'>

sentence = "my name is dream ,I'm 18 years old,hope you 'wonderful!'"

# 中间的 ' 产生了歧义 按照正常的字符串语法 单双引号应该成对出现
# 所以在单引号内部不能出现单独单引号,但是单引号内部可以出现单独的双引号
# sentence = 'my name is dream ,I'm 18 years old,hope you "wonderful!"'
#  所以在双引号内部不能出现单独双引号,但是双引号内部可以出现单独的单引号
# sentence = "my name is dream ,I"m 18 years old,hope you 'wonderful!'"

# 在三引号内部,如果第一行不写内容默认存在一个换行
sentence = '''
my name is yang,
I'm 22 year old,
hope you 'wonderful!'
'''
print(sentence,type(sentence))
# 
# my name is yang,
# I'm 22 year old,
# hope you 'wonderful!'
#  <class 'str'>

# 【3】使用方法
# (1)字符串加法
print(1 + 1)
# 字符串 + 字符串 = 字符串
print("1" + "1",type("1" + "1"))    # 11 <class 'str'>

# (2)字符串乘法
print(1 * 9)
print("1" * 9)      # 111111111
# 字符串 * 数字 = 当前字符串重复出现几次

# (3)可以索引取值
# 索引的意思就是左边 -3 -2 -1 0 1 2 3
# h e l l o   w o r l d
# 0 1 2 3 4 5 6 7 8 9 10
# 支持索引取值
world = "hello world"
# 索引取值的语法 字符串[索引坐标]
print(world[0])
print(world[5],type(world[5]))      # <class 'str'>
# 虽然输出的内容是空白,但其实输出的就是空格,他也是字符串

# 支持负索引取值
print(world[-1], type(world[-1]))

# 计算当前字符串的总字符数
print(len(world))       # 11
# 当我们使用正索引取值的时候,索引是从0开始的所以取不到第11个
print(world[11])
print(world[len(world) - 1])
# 如果是负索引取值,从 -1 开始,可以取到 -11
print(world[-len(world) + 2])

# 【4】字符串的格式化输出
# 这样修改整条语句太麻烦
myself_sentence = "my name is gdy ,my age is 22,"
myself_sentence = "my name is hyt ,my age is 24,"

# (1) %占位输出法
myself_sentence = "my name is %s,my age is %s"%(name,age)
name = "gdy"
age = 22
# myself_sentence = "my name is name,my age is age"
# %s : string字符串类型的数据
# %d : int类型的数据
myself_sentence = "my name is %s,my age is %s"%(name,age)
print(myself_sentence)

# (2)f + {}输出法
name = "gdy"
age = 22
myself_sentence = f"my name is {name},my age is {age}"
print(myself_sentence)

# (3)format输入语法
name = "gdy"
age = 22
# 按照位置传值
myself_sentence = "my name is {},my age is {}".format(name,age)
print(myself_sentence)
# 按照关键字传值
myself_sentence = "my age is {age},my name is {name}".format(name=name,age=age)
print(myself_sentence)

# \在Python中属于是转义符号
name = "gdy \n"
age = 22
names = "gdy\\"     #想要输出dream\
print(name)
print(age)
print(names)

【六】列表类型

# 【1】作用
# 可以在列表中存放多个值,不限制数据类型
# 例如用一个列表存储很多名字

# 【2】语法
name_list =["gdy","hyt"]
print(name_list,type (name_list))
# ['gdy', 'hyt'] <class 'list'>

# 【3】放了值是为了方便使用
# (1)索引取值
# 索引取值正向从0开始,负向 -1 开始
name_list =["gdy","hyt"]
print(name_list[0])         # gdy
print(name_list[-1])        # hyt

# 【4】索引支持嵌套
info_list = [
    "gdy",["22",["上海"]]
]
# 如果想要取最后一层,从0开始,一层一层
print(info_list[1][1][0])              # 上海

【七】字典类型

# 【1】 作用
# 可以记录多个值,并且这些值带有各自的名字
# 字典数据存储方式是 key:value
# 里面存的每一个值都是 key:value 的kv键值对
info_data ={
    "name":"gdy",
    "age":18,
    "hobby":["music","run"]

}
# 【3】放就是为了取的时候方便
#(1)索引取值
# 字典不支持索引取值!

# (2)根据键取值
print(f"以下是字典类型")
print(info_data["name"])        #gdy

# (3).get(键)取值
print(info_data.get("name"))    #gdy

练习

info = {
    'name': 'gdy',
    'addr': {
        '国家': '中国',
        'info': [
            666,
            {'age': 22},
            999,
            {'编号': 466722, 'hobby': ['read', 'study', 'music']}
        ]
    }
}
# 格式化输出
sentence = "my name is name ,my age is age ,my id is id ,my location is location , my hobby is music-read-study"

# 从info字典中获取name键对应的值
name = info.get("name")
age = info["addr"]["info"][1].get("age")
id = info["addr"]["info"][3].get("编号")
# 从info字典中获取到addr对应的字典,在从字典中获取 键 国家 对应的值
location = info["addr"].get("国家")
hobby =info["addr"]["info"][3].get("hobby")[0] + '-' + info["addr"]["info"][3].get("hobby")[1] + '-' + info["addr"]["info"][3].get("hobby")[2]

sentence = f'''my name is {name},
my age is {age}
my id is id {id},
my location is {location}
my hobby is {hobby}
'''
print(sentence)

#最后整合起来
sentence = f'''my name is {info.get("name")},
my age is {info["addr"]["info"][1].get("age")}
my id is id {info["addr"]["info"][3].get("编号")},
my location is {info["addr"].get("国家")}
my hobby is {info["addr"]["info"][3].get("hobby")[0] + '-' + info["addr"]["info"][3].get("hobby")[1] + '-' + info["addr"]["info"][3].get("hobby")[2]
}
'''
print(sentence)

#输出结果
# my name is gdy,
# my age is 22
# my id is id 466722,
# my location is 中国
# my hobby is read-study-music

【八】布尔类型

# 就是我们生活中的真或假
# 真 true
# 假 false
is_right = True
print(is_right,type(is_right))      # True <class 'bool'>

# 【二】在Python中典型的真或假的情况
# 哪些情况是真?
# 哪些情况是假?0为假,空的字符串,空的列表,空的字典,空的元组
# 不存在的情况,空值为假
name = ""
print(bool(name))       # False
names = ("11")
print(bool(names))      # True

【九】元组类型

# 【1】用来存储不变的元素
name = ["gdy"]
name[0] = "hyt"
print(name[0])

# 特别注意,元组中只有一个元素的时候一定要加  ,
name = ("gdy")                  # 不加逗号
print(name,type(name))          # gdy <class 'str'>

name = ("gdy"),                 # 加逗号
print(name,type(name))          # ('gdy',) <class 'tuple'>

name[0] = "hyt"       # 原组无法替换元素
print(name)

# 元组可以解包,解压赋值
info = ("gdy",22)
print(info[0])
print(info[1])

name,age = ("gdy",22)
print(name)
print(age)

【十】集合类型

# 无序,在集合中看不到重复的元素
# {key:value}:字典
# {key}:集合

num ={1,2,3,4,5,6,7,8,9,10,10,10}
print(num,type(num))

# 每一次输出的顺序都会变,除非集合中只有数字或者只有字母
# 集合类型中不能存放字典和列表,因为字典和列表是可变数据
num = {1,2,3,"name","gdy",4,1.11,4,4,4}
print(num)

标签:info,变量,gdy,age,数据类型,学习,print,my,name
From: https://www.cnblogs.com/wycmjd/p/18102622

相关文章

  • C++ 字符串完全指南:学习基础知识到掌握高级应用技巧
    C++字符串字符串用于存储文本。一个字符串变量包含由双引号括起来的一组字符:示例创建一个string类型的变量并为其赋值:stringgreeting="Hello";C++字符串连接字符串连接可以使用+运算符来实现,生成一个新的字符串。示例:stringfirstName="John";stringlastN......
  • FLASK学习记录-宏、模板继承
    宏{%macroname%}{%endmacro%}app.pyfromflaskimportFlask,render_templateapp=Flask(__name__)@app.route('/')defindex1():returnrender_template("macro1.html")@app.route("/")defindex2():returnrend......
  • 深度学习理解及学习推荐(持续更新)
    主推YouTuBe和Bilibili深度学习博主推荐:UmarJamil-YouTubehttps://www.youtube.com/@umarjamilaiStatQuestwithJoshStarmer-YouTubehttps://www.youtube.com/@statquestRNN IllustratedGuidetoRecurrentNeuralNetworks:UnderstandingtheIntuition(yout......
  • 04基本数据类型
    【一】数字类型(int/float)(1)作用整数类型用于表示整数,是一种基本的数字类型,广泛用于表示计数、索引等整数值。浮点类型用于表示带有小数部分的数值,适用于需要更精确表示的情况。(2)定义#【1】整型--intnumber=18#查看内存地址print(id(number))#140728323794248......
  • JavaScript数据类型
    JS数据类型整体分为两大部分:基本数据类型引用数据类型基本数据类型    Number数字型    数学中学习到的数字,可以是整数,小数,正数,负数。    JavaScript中的正数,负数,小数等统一称为数字类型。 注意事项    JS是弱数据类型,变量到底......
  • FFmpeg学习
    FFmpeg学习命令行常用参数-i在FFmpeg中,"-i"参数用于指定输入文件或输入流。它是一个必需的参数,表示输入文件或流的位置和类型。该参数后面应该跟着输入文件或流的路径或URL。例如,假设我们要转换一个名为"input.mp4"的视频文件为另一个格式,我们可以使用以下命令:ffmpeg-iinp......
  • MNN:轻量级深度学习推理框架的优雅之选
    在深度学习领域,推理框架的选择对于模型的应用至关重要。MNN,作为阿里巴巴开源的一款轻量级深度学习推理框架,凭借其出色的性能和易用性,逐渐成为了众多开发者的首选。本文将为大家详细介绍MNN的特点、安装及编译过程,带您领略这一优雅之选的魅力。一、MNN:轻量级推理框架的璀璨......
  • 2.虚拟环境 常量 变量
    【一】PIP换源1)作用提高使用pip安装第三方包的速度2)永久换源打开控制台或终端,并输入以下命令:pipconfigsetglobal.index-urlhttps://mirrors.aliyun.com/pypi/simple/更改pip源后,可以通过以下命令验证:pipconfiggetglobal.index-url如果返回值为https://mir......
  • QT数据类型和容器用法
    Qt库提供了基于通用模板的容器类,这些类可用于存储指定类型的数据项,Qt中这些容器类的设计比STL容器更轻,更安全且更易于使用。容器类也都是隐式共的,它们是可重入的,并且已针对速度/低内存消耗和最小的内联代码扩展进行了优化,从而生成了较小的可执行文件。容器类是基于模板的类,......
  • 机器学习——模型评估与选择
    1、经验误差与过拟合  学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”,显然,我们希望得到泛化误差小的学习器。为了达到这个目的,应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,这样才能在遇到新样本时做出正确的判......