【python基础知识】0.print()函数

news2024/11/23 21:56:36

文章目录

  • 前言
  • print()函数
    • 无引号
    • 单引号的用法
    • 双引号的用法
    • 三引号的用法
    • 转义字符
  • 变量和赋值
    • 变量的命名规范
  • 下关预告

前言

Python就是一个能够帮你实现需求的工具,它更像是一把万能钥匙,决定用它来打开哪一扇门的,是你自己。

『千里之行,始于足下』,无论终点在哪,『Python基础知识课』是我们路途的第一个里程碑!

Python基础语法知识就好比『内功』,只有深厚的『内功』才能更好地领悟和掌握各路招式。

此时,我想起了尼采在《查拉图斯特拉如是说》中的一句话『其实人跟树一样的,越是向往高处的阳光,他的根就要越要向下,伸向地底深处…』。

或许,在学习过程中你还不能一下敲出特别酷炫的代码,但你在这过程中会不断地提高,那一天也将会如期到来。『勤学似春起之苗,不见其增,而日有所长。』

在编程界,有一句话非常出名,叫“Talk is cheap, show me the code.”——空谈无益,秀代码。

希望你在学习的过程中多写多练,熟能生巧!

让我们开始吧!

print()函数

恭喜你已经步入了python新世界,让我们使用print()开启对python的第一声问候!print()函数的用法有以下几种:单枪匹马——不带引号、搭配单引号、搭配双引号、搭配三引号,我们逐个见识下吧!

无引号

注意,在正式敲代码之前,必须切换成英文输入状态,保证print()函数的括号是用【英文括号】,不然会报错。【切换英文输入的Tips:Mac系统请按control+空格键切换中英文输入,Windows系统请按ctrl+shift键切换中英文输入】

print(520)

运行结果:

520

下面我给你准备了个彩蛋,你可以直接复制到自己本地,然后运行查看结果:

import time
print ('在'+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+',我写了人生中第一行Python代码\n它的内容虽然简单,不过是平凡的一句print(520)\n但我知道:我的编程之路,将从最简单的520开始\n在我点击运行的同时,一切在这一刻开始变得不同\n以下,是这行代码的运算结果:' )
print(520)
print(520)
print(520)

运行结果:

2023-06-05 16:19:50,我写了人生中第一行Python代码
它的内容虽然简单,不过是平凡的一句print(520)
但我知道:我的编程之路,将从最简单的520开始
在我点击运行的同时,一切在这一刻开始变得不同
以下,是这行代码的运算结果:
520
520
520

一切在这一刻开始变得不同,因为,你已经成功写出了人生中的第一行Python代码!

你能够实现与计算机交互的“初体验”,离不开print()函数的帮忙。这也是我们即将解锁的第一个Python语法知识点。

刚才,虽然你只是输入了一个简单的print,但在背后,这段Python代码却帮你做了这样的一些事情:

(0)我们向计算机发出指令:“打印‘520’”;(1)Python把这行代码编译成计算机能听懂的机器语言;(2)计算机做出相应的执行;(3)最后把打印结果呈现在我们面前。

这,就是我们通过Python这个工具,成功与计算机实现沟通的方式。

在这里插入图片描述
接下来,你即将进入到《千与千寻》的世界,在故事里进一步地学习print()函数的用法。(提示:即便没看过《千与千寻》也不影响你理解后面的代码知识。)

千寻与爸爸妈妈误入了鬼怪神灵休息的世界,为了拯救因为贪食而被变成猪的父母,千寻需要在这个世界里为汤婆婆打工,在卖身契上签下自己的名字。

在Python的魔法世界,我们如果想让计算机帮忙写出千寻的名字,该怎么运用print()函数对计算机发出指令呢?

print('千寻')

观察一下上面这行代码的结构,再敲一下回车键,把上面这行代码原样复制到代码框中,点击运行,看看会出现什么结果。

运行结果:

千寻

看,屏幕上是不是出现了千寻的名字?这就是print()函数的主要功能:打印内容。

在这里,打印的意思是:让计算机把你给它的指令结果,显示在屏幕的终端上。

单引号的用法

到这里,你已经亲自使用过两次print()函数了。我们来观察一下,你两次写下的print()函数语句有什么不一样的地方呢?

print(520)

print('千寻')

很明显,你会发现,在print('千寻')里,多了一对单引号。

那么问题又来了:这个单引号是干啥用的?为什么打印文字的时候需要加上引号呢?

这是因为,计算机的脑回路比较特别:只能理解数字,却读不懂文字。因为数字和数学运算是标准化、有固定格式的,而文字却能够千变万化。

如果你直接让计算机print(千寻),它会一脸懵并大声报错:“这两个字啥意思,你没有定义清楚,不懂诶……”

在这里插入图片描述
这,便是print()函数中引号的用法:当括号内有引号的时候,就相当于告诉计算机——你不需要执行多余的操作,我输入什么,你就打印什么。

在这里插入图片描述

双引号的用法

在print()函数内不仅能使用单引号,还能使用双引号,两者的效果没什么区别,都能让你打印出一行文本。

有些时候,单引号和双引号可能会在括号内同时出现,比如print("Let's play")

这种情况下,需要注意区分清楚哪个引号是属于print()函数结构,哪个引号是属于你要让计算机打印的内容,可别“混搭”了。

说这么多,运行一下代码就懂了。直接在下面代码框中点击运行,观察运行结果。(点击运行前先思考一下,在第三个print()函数中,哪个引号才属于print()函数结构)

# 括号内是单引号的情况。
print('一起玩吧')

# 括号内是双引号的情况。
print("一起玩吧")

# 括号内单双引号同时存在的情况。
print("Let's play")

运行结果:

一起玩吧
一起玩吧
Let's play

我们观察上面的代码,发现多了一些带有『#』的语句,它是怎么一回事呢?

其实呀在python里,『#』常用作单行注释符号,用于解释单行代码,比如 『# 括号内是单引号的情况』用于解释说明代码『print(‘一起玩吧’)』。#号后边的任何数据在代码运行的阶段不会被输出。

回到print()函数,在print(“Let’s play”)中,没有被打印出来的引号就属于print()函数结构啦。

不过,在print()函数中,引号里的内容其实也不一定非得是文字,还可以是英文和数字。

相应地,在括号内没有引号的情况下,我们应该往括号内放入计算机能够“理解”的内容,如:数字或数学运算。

此时,print函数会让计算机尝试去“读懂”括号里的内容,并打印最终的结果。

因此,当计算机读懂数据数字后,就打印这个数据。当读懂数字运算后,则打印得到运算结果。

要不然,我们来猜猜看,在代码框输入下列代码的话,计算机会在终端输出什么结果? print(1+1)

是1+1 还是2 呢?
正确答案是2哦
!但是为什么打印的结果是2,而不是1+1呢?

在这里,计算机并没有再原样打印“1+1”,因为print(1+1)是计算机能直接读懂的数学运算,所以,它会直接打印出最终的运算结果:“2”。这就是计算机“读懂内容”的表现。

关于“运算”相关的知识,明天我们在讲解数据类型的时候将会进一步讲解。现在,你只需要了解print()函数,以及其带引号和不带引号的用法区别就好。

到这里,print()函数相关的知识就讲完啦。

接下来,我们来试试自己用print()函数打印出“千寻的卖身契”。

为了让千寻替自己工作,汤婆婆拟了一份反人类的“血汗条款”:

我愿意留在汤婆婆的澡堂里工作两年,如果我违背工作内容的话,将在这个世界变成一头猪。

那么,这份合约在Python中要如何显示呢?请你在下面的代码框中将这份合约打印出来(注意:使用print()函数,文字部分可直接复制上面的内容)。

参考答案:

print('我愿意留在汤婆婆的澡堂里工作两年,如果我违背工作内容的话,将在这个世界变成一头猪。')

相信你已经顺利地打印出千寻的合约了(这也意味着,我们的小千寻要苦兮兮地开始做打工妹了……)。

三引号的用法

But,苛刻的汤婆婆觉得卖身契的排版还不够好看,希望你能让卖身契文字的每一个逗号后面都换行显示,打印出“自动换行”的效果。

答案是:在print内部使用三引号’‘’(连续输入三个单引号)来实现跨行输出。

嘿嘿,没想到吧,除了单引号和双引号之外,print()里面居然还能放三引号。直接运行下面这段代码,看这次能不能实现汤婆婆想要的效果。

print('''我愿意留在汤婆婆的澡堂里工作两年,
如果我违背工作内容的话,
将在这个世界变成一头猪。
''')

运行结果:

print('''我愿意留在汤婆婆的澡堂里工作两年,
如果我违背工作内容的话,
将在这个世界变成一头猪。
''')

成功了!你已经掌握了用三引号换行的办法。

现在我们已经学习了print()函数的四种情况--无引号,单引号,双引号,三引号。再跟着老师一起回顾一下它们之间的差别,巩固一下。

在这里插入图片描述
在这里插入图片描述
注意,【前方高能预警】,接下来,我要告诉你一个99%的初学者都踩过的代码bug。

在Python中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。

在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)。

在这里插入图片描述
我们在debug(解决程序报错)的时候,需要下意识地找找自己是否犯了这样细小却致命的错误。

重要提示说完。此时此刻,你已经完成了这一关60%的进度条,通关成就达成近在眼前!

转义字符

你已经用print()函数成功打印出了千寻的卖身契。

print('''我愿意留在汤婆婆的澡堂里工作两年,
如果我违背工作内容的话,
将在这个世界变成一头猪。
''')

其实,还有第二种实现换行的办法:使用转义字符\n,像这样:

print('我愿意留在汤婆婆的澡堂里工作两年,\n如果我违背工作内容的话,\n将在这个世界变成一头猪。')

除了\n之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。

比如换行\n代表【+newline】;退格\b代表【+backspace】;回车\r代表【+return】。大家可以按照这种方法记住转义字符的含义。

我把常用的一些转义字符做了个总结:

在这里插入图片描述
别担心,这张图上的内容你不需要背下来,先通过截屏或拍照方式把图片保存下来,以后要使用转义字符时再看图查找就好。

变量和赋值

到这里,你已经成功地打印出了千寻的名字和卖身契。与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己“姓名”的信息。

那么,在信息纷繁的代码世界里,我们应该如何更好地储存信息,让计算机能够在你需要的时候帮你调用出你想要的信息呢?

你需要借助【变量和赋值】的力量,将繁杂的信息给一一“收纳”好。

我们先来看看下面这行代码:

name='千寻'

这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。

这就好比,为了让千寻在日后能在计算机中更方便地找到她的名字,我们帮她把名字收纳进了一个小盒子里,并在这个盒子上贴了个叫“name”的标签。

回想一下,我们平时在收拾东西的时候,是不是会把散落各处东西放进不同的盒子里,并且做好标记?这样的“收纳”动作,能够让空间变得整齐,也更方便我们自己取用东西。

在这里插入图片描述
同理,计算机也是这么做的,它会把成千上万的数据放在不同的“盒子”里,这样才方便它存储和操作数据。

这个“盒子”在Python中被称为变量,你可以在这个“盒子”里放任何你想放的内容。

而这个往盒子里装东西的过程,在代码的魔法世界被称为【赋值】。

在这里插入图片描述
在千寻签完合约后,汤婆婆就把【name】这个『标签』从装有她名字【千寻】的『盒子』撕下来,贴到了装有【小千】这个名字的『盒子』。

这时,取出贴有【name】这个『标签』的盒子,读出的内容变成了『小千』:

name='小千'

现在,请你运行下面这段代码,看一下打印函数的最终输出结果是什么。

name='千寻'
name='小千'
print(name)

运行结果:

小千

终端上出现的结果是不是【小千】?可这又是为什么呢?我们对“name”这个变量第一次的赋值不是【‘千寻’】吗?为什么打印的结果是第二次的赋值呢?

这就涉及到了变量的特点:变量之所以称为变量,是因为它保存的数据是可以随意变化的。

刚才我们讲,我们可以将变量当作一个盒子,你可以在这个盒子里放任何内容,但盒子都有它的最大容量,不能无限制地塞东西。

偏偏在代码世界里,盒子的容量又特别小,仅为1。所以当你需要放进新的东西时,只能寻找一个新的盒子。

在这里插入图片描述
在我们上面的案例中,第一行代码:name='千寻’表达的意思是:把千寻这个名字放到name这个变量“盒子”中。

由于,计算机是一行行自上而下执行代码的,所以当运行到第二行代码name='小千’时,变量“name”里存储的【‘千寻’】就被替换成了【‘小千’】。

所以,当运行到第三行print(name)时,我们打印出的结果,就自然而然的是小千了。

其实,不仅是千寻,名字对于我们每个人来讲都是有意义的,它帮助你“定位”自己,让别人能轻松地找到你。所以,人的名字不能乱取,同理,给变量的命名也需要遵循一定的规范。

变量的命名规范

对于变量的命名,我们可以遵循以下规范:

在这里插入图片描述
比如说,如果信息是姓名,那么变量可以命名为name;如果信息是数字,那么变量名则应该叫做number。

很多新手在刚入门的时候会习惯给变量命名为a、b、c等英文字母。这样的变量名会让你无法从诸多信息中分辨出变量里装的东西是什么,这无异于给自己的孩子取名叫做“张小红”、“王小明”,一下就淹没于茫茫人海之中了。

除了变量命名之外,还要注意的是:在代码世界中,赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的盒子中。

代表左右两边相等的符号,是比较运算符==,虽然他俩长得像,但代表的却是完全不同的意思,可千万不要搞混了。关于比较运算符==大家先不用着急它的用法,在之后的关卡它会再与大家见面的。

在这里插入图片描述
检验学习成果的时候到了,请你用刚才学过的变量和赋值的知识做一道题:请将下面三个名字用name依次赋值,并保证最终打印出来的是“千寻”。(提示:使用print()函数,变量的值总是等于最后一次赋给它的内容。)

我相信你已经把『千寻』的名字打印出来了。老师的答案是这样的:

name='魔法少女千酱'
name='夏目千千'
name='千寻'

print(name)

最后,我们来总结一下这关的知识点:
在这里插入图片描述
到这里,或许你会问:我这关学的这几个简单的代码有什么用呢?

虽然print()函数是最简单的语句,但其实,你往后要做的任何一个程序几乎都离不开print()函数的支持。

例如说,你能用print()函数给自己创造一个可爱的好朋友“人工智障小埋”,她会蹦跶着到你面前,调皮地让你猜她的年龄。

下面是一段已写好的代码,请直接【运行】,快来和小埋玩一下猜年龄的游戏吧!

import random
import time

###提示语部分
print('你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧~(◆◡◆)')
time.sleep(2)

print('''
=============================
   干物妹!うまるちゃんの年齢
=============================
''')
time.sleep(1)


print('小埋的真实年龄在1到10之间哦~')
time.sleep(1)


print('不过,你只有5次机会哦~')
time.sleep(1)


print('下面,请输入小埋的年龄吧:')


#从0至10产生一个随机整数,并赋值给变量age
age = random.randint(1,10)


#设置次数
for guess in range(1,6):
   
   #输入玩家猜测的年龄
    choice=int(input())
    
    #判读玩家输入的年龄是否等于正确的年龄
    if choice<age:
        print('小埋的提示:你猜小了(;´д`)ゞ。。。。')
                
    elif choice>age:
        print('小埋的提示:乃猜大了惹(>﹏<)~~')
            
    else: 
        print('猜了'+str(guess)+'次,你就猜对惹~hiu(^_^A;)~~~')
        break   
                
#判断猜测次数 
if choice  == age:
    print('搜噶~那么小埋下线了~拜拜~( ̄︶ ̄)↗')
    
else:
    print('哎呀~你还是木有猜对啊~但是你只有5次机会诶~怎么办啊~')
    print('那好吧~心软的小埋只好告诉你,我才'+str(age)+'岁哦~(*/ω\*)')

运行结果:

你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧~(◆◡◆)

=============================
   干物妹!うまるちゃんの年齢
=============================

小埋的真实年龄在110之间哦~
不过,你只有5次机会哦~
下面,请输入小埋的年龄吧:
4
小埋的提示:你猜小了(;´д`)ゞ。。。。
7
小埋的提示:你猜小了(;´д`)ゞ。。。。
9
小埋的提示:乃猜大了惹(>﹏<)~~
8
猜了4次,你就猜对惹~hiu(^_^A;)~~~
搜噶~那么小埋下线了~拜拜~( ̄︶ ̄)↗

成功猜中小埋的年龄了吗?除了print()函数和变量赋值之外,这段代码里还用到了条件判断if语句、input()函数,这两个知识点我们会在第2个关卡和第3个关卡学习到喔。

在学完基础语法的前半部分之后,你也能独立写一个这样的项目,设计你的专属“小埋”!所以,不要小看了我们今天所学的知识,它将是我们未来大项目的开端。

而这一关卡里,我们掌握了命令思维——对计算机下“打印”的指令。但是,在与计算机沟通的道路上,我们的学习才刚刚开始。

在学完整个Python基础语法课程后,你将会真正迈入Python的大门,掌握利用Python解决问题的方法和思维。

下关预告

其实,Python世界只是现实世界的镜像,Python世界里的东西都可以在现实世界里找到对应。那么现实世界中最常见的数字,文字在镜像世界里长什么样呢?我们如何使用它们?

比如说,我们如何利用镜像世界的数据进行复杂的科学计算,并把数字结果和解释语言一起输出到屏幕,展现给用户呢?

在这里插入图片描述
下一关,我们会一同深入镜像世界里探其究竟,揭秘【镜像世界的数据】。

在这里插入图片描述
现在,我终于可以正式地通知你:恭喜通关你人生中的Python第一课!
我们在下一关再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/974433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.1 PE结构:文件映射进内存

PE结构是Windows系统下最常用的可执行文件格式&#xff0c;理解PE文件格式不仅可以理解操作系统的加载流程&#xff0c;还可以更好的理解操作系统对进程和内存相关的管理知识&#xff0c;在任何一款操作系统中&#xff0c;可执行程序在被装入内存之前都是以文件的形式存放在磁盘…

阿里云2核4G服务器5M带宽五年租用价格表

阿里云2核4G服务器5M带宽可以选择轻量应用服务器或云服务器ECS&#xff0c;轻量2核4G4M带宽服务器297元一年&#xff0c;2核4G云服务器ECS可以选择计算型c7、c6或通用算力型u1实例等&#xff0c;买5年可以享受3折优惠&#xff0c;阿腾云分享阿里云服务器2核4G5M带宽五年费用表&…

Java“牵手”阿里巴巴店铺所有商品API接口数据,通过店铺ID获取整店商品详情数据,阿里巴巴店铺所有商品API申请指南

阿里巴巴平台店铺所有商品数据接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取阿里巴巴整店的商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、价格信息等详细信息 。 获取店铺所有商品接口API是一种用于获取电商平台…

了解被测系统(一)技术架构

目录 web应用组成 项目实例 系统架构图 整体架构图 web应用组成 从开发者的角度来看&#xff0c;web 应用主要由三部分组成: 用户界面&#xff0c;业务逻辑&#xff0c;数据。 1.用户界面(视图层) 用于将数据展示给用户的地方&#xff0c;采用 HTML&#xff0c;CSS&…

【Linux内核】以共享内存的方式实现进程间通信

现在有很多进程间通信的模式&#xff0c;但是我们选择一个简单的IPC机制&#xff08;共享内存&#xff09;来实现&#xff0c;并让它工作起来。 简单来讲我们实现了两个系统调用&#xff08;不可避免地需要我们完善IDT&#xff09;&#xff0c;发送方查看接受方是否接收&#…

配电室智能运维解决方案

配电智能运维服务是以电易云-智慧电力物联网平台为核心&#xff0c;通过对配电室(或箱变)、高、低压配电柜加装在线监测装置&#xff0c;将运行状态实时传输到电易云平台&#xff0c;人工24小时运维值班&#xff0c;为客户提供大数据时代下的电力运维解决方案&#xff0c;更好的…

基于springboot绩效管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

2.5 PE结构:导入表详细解析

导入表&#xff08;Import Table&#xff09;是Windows可执行文件中的一部分&#xff0c;它记录了程序所需调用的外部函数&#xff08;或API&#xff09;的名称&#xff0c;以及这些函数在哪些动态链接库&#xff08;DLL&#xff09;中可以找到。在Win32编程中我们会经常用到导…

修改 gc2093.c 驱动程序改变摄像头预览的镜像效果

原理 查看gc2093芯片手册&#xff0c;修改寄存器0x0017的数值&#xff0c;可以修改摄像头预览镜像效果。如下&#xff1a; #define GC2093_MIRROR_FLIP_REG 0x0017 #define MIRROR_MASK BIT(0) #define FLIP_MASK BIT(1) 方法 通过修改 gc2093.c 驱动程序可以改变摄像头预览…

NET7快速开发一个商品管理模块-商品列表开发(一)

商品管理模块&#xff0c;一般包含以下几个模块&#xff1a; 商品列表&#xff1a;这里可以看到所有已发布的商品信息列表。 商品管理&#xff1a;添加商品、编辑商品以及删除商品。 具体功能如下图&#xff1a; 1.商品列表 2.添加商品 3.商品SKU编辑

【java】【项目实战】[外卖十]项目优化(mysql读写分离)

目录 一、问题说明 二、读写分离示例 三、Mysql主从复制 3.1 介绍 3.2 配置 3.2.1 前置条件 3.2.2 配置-主库Master 3.2.2.1 第一步 3.2.2.2 第二步 3.2.2.3 第三步 3.2.2.4 第四步 3.2.3 配置-从库Slave 3.2.3.1 第一步 3.2.3.2 第二步 3.2.3.3 第三步 3.2.3.4 …

【TypeScript学习】—编译选项(三)

【TypeScript学习】—编译选项&#xff08;三&#xff09; 一、自动编译文件 tsc xxx.ts -w二、自动编译整个项目 三、编译器选项

3. C++调试时显示代码所在文件 / 函数 / 行号信息

1. 说明 在执行C代码时&#xff0c;有时希望知道当前代码所在的文件名、函数名和对应行号位置信息&#xff0c;方便快速定位到代码所在处。想要获取这些信息&#xff0c;可以使用C提供的一些宏进行获取。 2. 简单说明 __FILE__ : 用于获取当前语句所在源文件的文件名 ——fu…

从本地到Gitee:一步步学习文件上传及解决常见报错问题

&#x1f642;博主&#xff1a;小猫娃来啦 &#x1f642;文章核心&#xff1a;一步步学习文件上传及解决常见报错问题 文章目录 安装git进入gitee官网&#xff0c;登录账号新建仓库先打开git命令行上传本地资源到仓库第一步&#xff1a;git init第二步&#xff1a;git add .第三…

正版软件|Splashtop Personal 个人版桌面和移动远程控制软件

Splashtop Personal 个人版 - 从平板电脑、智能手机或另一台计算机轻松远程访问 Mac 或 Windows PC 最多可达 5 台设备。在本地网络上免费使用 Splashtop Personal *即可从舒适的沙发或卧室访问家用计算机。 通过订阅 Anywhere Access Pack&#xff0c;可以从 Internet 上的任何…

JLink和ST-Link接口引脚介绍

STM32F1系列&#xff0c;STM8S系列&#xff0c;PY32F003系列都用过好久了&#xff0c;但是对JLink和ST-Link下载器认识&#xff0c;还是很肤浅的。有时候&#xff0c;需要自己接线&#xff0c;却不知道引脚定义&#xff0c;特整理如下&#xff1a; 1、ST-Link ST-Link适合对象…

按钮控件之4---QToolButton 工具按钮控件

一、设置和基本显示 QWidget w; QToolButton *pb1new QToolButton(&w); 设置文字 setText() 设置图标 setIcon() 改变图标大小 setIconSize() 设置提示文本 setToolTip() pb1.setToolTip("hello"); 二、属性 1. arrowType&#xff1a; Qt::ArrowType 设置…

如何让数据成为企业的生产力?

为什么有的企业投入大量的人力、物力、财力做数字化转型建设最终做了个寂寞&#xff01;企业领导没看到数字化的任何价值&#xff01; 如果要问企业数字化转型建设最核心的价值体现是什么&#xff0c;大部分人都会说是&#xff1a;数据&#xff01; 然而&#xff0c;不同的人…

Nginx 配置中root和alias的区别分析

root和alias都可以定义在location模块中&#xff0c;都是用来指定请求资源的真实路径&#xff0c;比如&#xff1a; location /i/ { root /data/w3; } 请求 http://foofish.net/i/top.gif 这个地址时&#xff0c;那么在服务器里面对应的真正的资源 是 /data/w3/i/top.gif文…

使用Vue + axios实现图片上传,轻松又简单

目录 一、Vue框架介绍 二、Axios 介绍 三、实现图片上传 四、Java接收前端图片 一、Vue框架介绍 Vue是一款流行的用于构建用户界面的开源JavaScript框架。它被设计用于简化Web应用程序的开发&#xff0c;特别是单页面应用程序。 Vue具有轻量级、灵活和易学的特点&#xf…