提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
我相信很多朋友都会跟我一样,一直听身边的人说python是比较简单的编译语言,但是对于没有任何编程基础的小白来说,单纯的浏览优快云这个网站都头大。作为有着同样痛点的我,今天开始发布我的第一篇帖子,手把手教同为小白的朋友们一起学习python一起进步。
关于我的介绍:
目前是本科大三在读,爱丁堡大学商学院商业管理专业
对于学习python纯属是因为我个人的兴趣,本来今年的计划是学习Java的,但是由于考虑到将来要做的数据分析和各种研究报告可能会用到python(主要是因为python比java简单😂)这才开始了我的python学习之旅
本身由于我就是小白,我也会分享在我学习的时候遇到的各种问题,以及怎么解决的。本身这个贴就是面向小白的,各位如果看到我的问题分享依旧解决不了自己的疑问的话,可以直接分享到评论区,供大家一起参考学习。随着持续的更新,我会不定期根据评论区各位的疑问制作专门的解疑答惑贴。
今天的主要学习任务:
- 变量的学习
- 简单的数据类型
提示:以下是本篇文章正文内容,下面案例可供参考
一、 变量是什么?
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 こんにちは
#在后续的打印环节,不仅可以一个接一个的打印,还能直接通过逗号 , 来分隔
这里延伸出一个知识点:变量的命名和使用
- 变量名能且只能包括字母、数字、和下划线. 变量名开头可以是下划线或者字母,不能用数字开头
_name = "Hello"
print (_name)
#下划线开头是可以的
Hello
- 变量名不能有空格,只能用下划线来分隔单词
- 避免使用python的特殊函数或者关键字作为变量名 例如:print
- 变量名精简比冗杂好,不仅精简还有足够有描述性,方便自己后期修改程序
二、字符串
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个小时。所以大家的信息可能无法及时回复。对此很抱歉,还望大家理解。
本文介绍了Python编程中的基础知识,包括变量的概念、不同类型的字符串及其操作(如修改、组合和格式化),以及基础数学运算。作者以小白入门的角度,分享了遇到的问题和解决方案,强调动手实践和互动交流的重要性。





