跟我一起学python 2/20---“变量”

本文介绍了Python编程中的基础知识,包括变量的概念、不同类型的字符串及其操作(如修改、组合和格式化),以及基础数学运算。作者以小白入门的角度,分享了遇到的问题和解决方案,强调动手实践和互动交流的重要性。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
我相信很多朋友都会跟我一样,一直听身边的人说python是比较简单的编译语言,但是对于没有任何编程基础的小白来说,单纯的浏览CSDN这个网站都头大。作为有着同样痛点的我,今天开始发布我的第一篇帖子,手把手教同为小白的朋友们一起学习python一起进步。

关于我的介绍:
目前是本科大三在读,爱丁堡大学商学院商业管理专业
对于学习python纯属是因为我个人的兴趣,本来今年的计划是学习Java的,但是由于考虑到将来要做的数据分析和各种研究报告可能会用到python(主要是因为python比java简单😂)这才开始了我的python学习之旅

本身由于我就是小白,我也会分享在我学习的时候遇到的各种问题,以及怎么解决的。本身这个贴就是面向小白的,各位如果看到我的问题分享依旧解决不了自己的疑问的话,可以直接分享到评论区,供大家一起参考学习。随着持续的更新,我会不定期根据评论区各位的疑问制作专门的解疑答惑贴。

今天的主要学习任务:

  1. 变量的学习
  2. 简单的数据类型

提示:以下是本篇文章正文内容,下面案例可供参考

一、 变量是什么?


message = "Hello, World!"
#message 变量名
#“Hello, World!" 变量的值
print (message) 

Hello, World!

在里面,message 作为我们的“变量名” 这个变量可以理解成数学里的未知数X,只不过在这里,这个X是已知数。这个X可以指代任何“
变量后面要有属于他的值,这个值需要由等号 = 来指出后面跟着它的值
变量“message” 指的值是此处的“Hello, World" 就是变量的值

添加变量会导致python增加运算量

print ("Hello, world!")

message = "Hello, World!"
print (message) 

Hello, world!
Hello, World!
#“向较于直接打印,通过添加变量的方式会增加运算”
#一行代码总好比过两行代码

我在学到这的时候突然意识到一个问题,那就是我写很多个变量都用message作为变量名,在打印的时候会不会出现问题?

message = "Hello"
message = "Nihao"
message = "こんにちは"
print (message)

这个的结果在我自己亲手实践之前我是认为会报错的,毕竟这么多的变量,而且名字都一样。
但是结果却出乎意料,但是仔细一想也是应该如此

message = "Hello"
message = "Nihao"
message = "こんにちは"
print (message)

こんにちは

这就要考虑到编程语言的原则之一,“就近原则” 在无法分辨到底打印哪个变量的时候,直接打印离得最近的那个变量。
这一点还会在后面操作列表-for循环的时候再次体现。
如果不考虑更改变量名的情况下,怎么把这些值全部打印出来?

message = "Hello"
print (message)
message = "Nihao"
print (message)
message = "こんにちは"
print (message)

Hello
Nihao
こんにちは
#在三个变量的后面直接添加print()可以将这三个变量全部打印出来

通过改变变量名(在后面添加序号)可以区分不同的变量

message_1 = "Hello"
message_2 = "Nihao"
message_3 = "こんにちは"
print (message_1, message_2, message_3) 

Hello Nihao こんにちは
#在后续的打印环节,不仅可以一个接一个的打印,还能直接通过逗号 , 来分隔

这里延伸出一个知识点:变量的命名和使用

  1. 变量名能且只能包括字母、数字、和下划线. 变量名开头可以是下划线或者字母,不能用数字开头
_name = "Hello"
print (_name)
#下划线开头是可以的
Hello 
  1. 变量名不能有空格,只能用下划线来分隔单词
  2. 避免使用python的特殊函数或者关键字作为变量名 例如:print
  3. 变量名精简比冗杂好,不仅精简还有足够有描述性,方便自己后期修改程序

二、字符串

1.什么是 “字符串”?

代码如下(示例):

"this is a srting."
'this is serting as well.'

字符串顾名思义就是一系列字符,在python中的表达方式主要是引号引起来的内容统称为字符串。但是这里的引号分双引号和单引号。这两种引号引起来的内容都可以被称之为字符串。
之所以双引号和单引号都可以用作字符串的符号是因为

' This is srting, made by "Words"!' 

双引号或者单引号可以在字符串内再次用引号或者撇号

2.字符串的修改

字符串不是不可改变的,字符串的大写小写,都是可以根据不同的指令改变的,体现在最终的print()中

代码如下(示例):

message = " hello" 
print (message) 

hello 

print (message.title())
Hello 
#

.title() 命令可以实现字符串的首字母大写
同时还有其他的命令例如全部大写或者全部小写命令
全部大写: .upper ()
全部小写:.lower ()

message = "hello"
print (message.title())
print (message.upper())
print (message.lower())
Hello
HELLO
hello

为什么要在.title() .upper() .lower()命令后面加一个括号?

简单讲:这里的括号是为“hello” 这个字符串提供的。或者可以理解成这个括号是括到“hello”上的。给系统一个指令,这个指令直接作用到这个字符串上。

3. 字符串和变量的结合

这里拿名字举例子
first_name 名
last_name 姓
full_name 全名

first_name = "bart"
last_name = "wang"
full_name = f'{first_name} {last_name}'
print (full_name)

变量first_name 和last_name对应不同的字符串,通过full_name将前两个变量结合到一起。
这里用到一个很重要的字符串 f (format缩写)
f 的主要作用是在python打印变量的时候,把变量里面包含的变量转换成其相对应的值
例如full_name 变量里包含的first_name和last_name。 通过 f 将这两个变量转换相对应的值
注意
f 需要加到引号的外面

full_name = f'{first_name} {last_name}'

Q1:为什么要在hello 前面加f? f 不应该直接作用在full_name上吗?也就是说f应该加在full_name前面。如果加在full_name 的前面会有什么效果?

print ("Hello, f'{full_name}'")
       
Hello, f'{full_name}'

f 是作用于full_name的,但是他需要加在最前面,也就是:“ ” 的外面

如果,把 f 加到了 :“ ” 里面,那么 f 就起不到设置格式的作用了, 因为在 引号 “ ” 里面的字符串会被认定为需要打印出来的,即使在双引号“ ” 里面加单引号’ ‘ 。也是没有用的。 所以 f 直接加到 full_name 前面的话会系统认定为需要打印的内容。

如果不添加f的话 会有什么效果?

first_name = "bart"
last_name = "Wang"
full_name = f"{first_name} {last_name}"

print (full_name)
adad Wang

print (f"hello, {full_name}")
hello, adad Wang #加了 f 的

print ("hello {full_name}")
hello {full_name} #没有加 f 的
#无法转换变量

4. 制表符\t 或 换行符\n 来添加空白

print ("Hello\nBart")
      
Hello
Bart
#\n换行符

print ("Hello\tBart")
      
Hello	Bart
#\t 制表符

也可以将两者结合在一起使用

print ("Hello\n\tBart")
      
Hello
	Bart

效果:\n在前,就是先换行,\t在后,就是换行完再在开头留空白。

5. 删除空白指令

虽然 “ Bart” 和“Bart” 看起来前者多了一个空格,但是在系统中则是两个不同的值、
因此删除空白指令的重要性不言而喻

#删除末尾空白指令 .rstrip() 
favorite_language = "python "
      
favorite_language
      
'python '

favorite_language.rstrip()
      
'python'

favorite_language
      
'python '

由此可见 rstrip() 指令可以将变量末尾的空白删除,但是他不是永久删除,仅仅是在这一次指令循环当中删除末尾空白。

如果要将空白完全删除的话,需要在变量当中添加一次指令,而这个指令则是直接针对于这个变量,并且将这个变量直接删除掉的。

favorite_language = favorite_language.rstrip()
      
favorite_language
      
'python'

通过

favorite_language = favorite_language.rstrip()

对这个变量进行直接删除末尾空白指令的更改,可以实现永久删除的效果。

除了rstrip() 对末尾空白删除以外,还有两个删除空白的方式

删除字符串前面的空白: lstrip()

删除字符串两边的空白:strip()

favorite_water = " tapwater "

favorite_water

' tapwater ' #字符串前后都有空白

favorite_water = favorite_water.lstrip()

favorite_water
      
'tapwater ' #通过使用.lstrip() 指令实现前面没有空白

favorite_water = favorite_water.strip()
      
favorite_water
      
'tapwater' #通过使用.strip() 指令实现前后都没有空白

问题:字符串前面有很多空格,用了这个指令前面的空白会被全部删除吗?

favorite_food = "   kfc   "
      
favorite_food
      
'   kfc   '
favorite_food = favorite_food.lstrip()
      
favorite_food
      
'kfc   '
#证明了不管字符串前面有多少个空格,只要是用了这个指令,全部的空白都会被删除

6. 数

python 中的数学运算大概分为两种数
一种是整数形式的数 叫做整数:2、4、5、25、23
另一种则是带小数点的浮点数:0.3、1.3、 6.2
浮点数就是带小数点的,不管是小数点后几位统称为浮点数

基本运算

+、-、*、/、

3+2
5

3-2
1


3*3
       
9


4/2
       
2.0
#除法运算中,不管是不是能整除都会带小数点,以浮点数的形式呈现

4/8
       
0.5


0.2*5
       
1.0
#浮点数参与到运算当中的时候不需要额外考虑,把浮点数当成整数一样参与运算即可
#但是由于是浮点数参与运算,所以结果不论如何都会以浮点数的形式显示



##次方运算符号 **
3**2
       
9

4**3

64

#在数字中添加下划线来方便阅读
money = 140_000_000
       
print (money)
       
140000000
#print出来的结果会自动忽略下划线
#变量后面加数字的不需要加引号,不然会被系统认定成字符串,最后print出来的就是引号里的信息
#例:
money = 90_900_000

       
print (money)
       
90_900_000


#变量的数字下划线也不是必须三位的划分,在结果中,1_000和1000没有区别
money = 1_000
       
print (money)
       
1000

#同时给多个变量赋值
x, y, z = 9, 11, 10
       
x
       
9
#直接在多个变量中间添加逗号即可作为分割,系统根据前后顺序为各个变量赋值


x+y
       
20
#变量赋值后运算
z/x
       
1.1111111111111112

#运算顺序会按照先括号后乘除再左右的顺序
x+y/z
       
10.1
(x+y)/z
       
2.0

#常量
#常量类似于变量,但是常量是在整个运算周期中保持不变的量,但是python没有常量的类型,所以常量就被所有大写字母的变量所代替。
CORE_NUMBER = 1000

总结

本章主要讲了
变量
字符串

这三个大块的知识点将是我们小白着手学习python这个编译语言的基础之基础
不论后期的程序编写多么的复杂和高级
都离不开最基本的这三个大块
希望大家学习的过程中多提问题,多自己动手操作。不怕做错就怕不做!
如果各位有任何的问题可以在评论区分享自己的问题,这样不仅我能第一时间看到各位的评论,同时各位其他的朋友也可以看到。这样一来,大家如果有同样的问题可以直接解决!

谢谢各位观看, 我每天都在学习python,我争取每周学完一章节,然后每周更新一章节,或者根据我的学习进度来日更

评论区可以给我提供建议
Btw, 由于我本人在英国,目前是冬令时,会比北京时间慢8个小时。所以大家的信息可能无法及时回复。对此很抱歉,还望大家理解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BartLearnCoding

收入将助力山区孩子学习编程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值