Python入门教学&基础知识(一):变量和简单数据类型


一、引言

继之前学会了Python的安装以及其IDE——Pycharm的安装之后,编写环境准备就绪,接下来就可以开始进行Python的基础知识的学习啦!
在本篇文章中,你将学习可在Python程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。

二、变量

首先直接上代码

message = "Hello world!" 
print(message)

运行程序,可以看到输出为

Hello world!

这里我们添加了一个名叫message的变量,这个变量储存了一个值,即为“Hello world!”。虽然这段代码的运行结果与直接运行print(‘Hello world!’)的结果一模一样,但是编译器在处理这两段代码时的工作不同,他需要先将“Hello world!”这一文本与变量message相关联,再将message相关联的值打印出来。

变量的值可以随时修改,如下例:

message = "Hello world!" 
print(message)

message = "Hello world Again!" 
print(message)

运行结果为

Hello world!
Hello world Again!

2.1 变量的命名和使用

同其他编程语言一样,变量在命名时需要遵守一些规则。同时,好的命名也能让我们的代码更加的容易阅读和理解,现将变量规则摘录如下。

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print
  • 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
  • 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

2.2 使用变量时避免命名错误

在编写代码的时候,打错单词是很常见的事情,如下例

message = "Hello World!" 
print(mesage)

可以看到由于将message错打成了mesage,程序无法成功运行,编译器就会报错,如下图
在这里插入图片描述
编译器指出在第75行(line 75)存在错误,也就是print(mesage)这一句,错误的原因在最后一行列出:NameError: name ‘mesage’ is not defined,也就是名称错误,变量名‘masage’未定义。
不过这种情况是很容易避免的,因为在出现错误时,Pycharm会在相应的代码下面加一个红色波浪线,鼠标移上去就会显示错误原因。
在这里插入图片描述
不过呢,还有一种情况,也就是把两个massage都错拼成mesage的时候

mesage = "Hello World!" 
print(mesage)

这种时候,编译是可以通过的

Hello World!

由此我们可以看出,编译器是不管单词的拼写是否正确,因此,在创建变量名和编写代码时,无需考虑英语的拼写和语法规则。


三、字符串

字符串是一种数据类型,字符串就是一系列字符,由引号(单引号和双引号皆可)括起,如下

"This is a string." 
'This is also a string.'

当然,双引号和单引号同时使用,也是可以的

'I told my friend, "LeBron is my favorite basketball player!"' 
"'King' is LeBron's nickname." 

3.1 使用方法修改字符串的大小写

如果要修改单词的大小写,在Python里这将非常容易,你只需要使用三个方法:.title().upper().lower(),见下例:

name="leBron james"
print(name.title())     #单词首字母大写
print(name.upper())     #单词全部大写
print(name.lower())     #单词全部小写
print(name)             #三个方法并不改变原变量

运行结果如下:

Lebron James
LEBRON JAMES
lebron james
leBron james

可以看到,在处理字符串数据时,使用这三个方法,就可以非常方便灵活的转换大小写,得到想要的数据。

3.2 合并字符串

要将字符串合并,比如将一个人的姓和名合并成一个字符串,只需要使用加号(+)来合并即可,如下例:

firstname="lebron"
lastname="james"
fullname=firstname+' '+lastname		#将全名用fullname储存
print(fullname)

运行结果如下:

lebron james

3.3 使用制表符或换行符来添加空白

在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其更易读。
要在字符串中添加制表符,可使用字符组合\t,也就是Tab的首字母,而要在字符串中添加换行符,可使用字符组合\n,两者也可以合在一起使用。如下例:

print("python")                 #原
print("\tpython")               #制表符\t
print("python\njava\nc")        #换行符\n
print("python\n\tjava\nc")      #\n\t同时使用

在使用pycharm编写的时候,由于颜色的不同,制表符和换行符会更加直观
在这里插入图片描述
运行结果如下:

python
	python
python
java
c
python
	java
c

3.4 删除空白

学会了添加空白,再来学学删除空白,有时候一些看不见的空白,会带来非常难以发现的错误。
.rstrip()方法可以删掉末尾的空白,.lstrip()方法删除开头 空白,.strip()方法删除两端的空白。如下例:

name=" python "
print(name.rstrip())	#删除末尾
print(name.lstrip())	#删除开头
print(name.strip())		#删除两端
print(name)				

运行结果如下:

 python
python   #(此处最后有一个空格)
python
 python #(此处最后有一个空格)

可以看出,这三个方法并不会直接改变字符串的空白,而是在使用该方法时才临时改变,要想永久删除空白,应该使用如下方法:

name=" python "
name=name.strip()
print(name)

这样name的值便是永久删除了空格

python

四、数字

4.1 整数

同其他语言一样,Python可以进行加减乘除四则运算,如下例:

a=6
b=23
c=a+b
d=a-b
e=a*b
f=a/b
print(c)
print(d)
print(e)
print(f)

运行结果如下:

29
-17
138
0.2608695652173913

值得一提的是,Python可以使用两个乘号表示乘方运算

a=2**3
print(a)
b=3**4
print(b)

这表示2的3次方以及3的4次方,运行结果:

8
81

当然你也可以指定运算次序,也就是使用括号

a=2+3*4
print(a)
b=(2+3)*4
print(b)

运行结果:

14
20

4.2 浮点数

带小数点的数字称为浮点数,一般它的使用方法与整数无异,如下例:

a=0.6
b=2.0
c=a+b
d=a-b
e=a*b
f=a/b
print(c)
print(d)
print(e)
print(f)

运行结果:

2.6
-1.4
1.2
0.3

但是需要注意的是,结果包含的小数位数可能是不确定的,比如:

a=0.6
b=0.2
c=a+b
d=a-b
e=a*b
f=a/b
print(c)
print(d)
print(e)
print(f)

结果:

0.8
0.39999999999999997
0.12
2.9999999999999996

所有语言都存在这种问题,没有什么可担心的。Python会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可。

4.3 使用函数 str()避免类型错误

类型错误,常见的有:

age = 23 
message = "Happy " + age + "rd Birthday!"
print(message)

这段代码会报类型错误,因为Python发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值,Python知道,这个变量表示的可能是数值23,也可能是字符2和3。
在这里插入图片描述
像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数str(),它让Python将非字符串值表示为字符串:

age = 23 
message = "Happy " + str(age) + "rd Birthday!" 
print(message)

这样Python就知道你要将23转换为字符串,从而成功显示

Happy 23rd Birthday!

五、注释

在大多数编程语言中,注释都是一项很有用的功能。注释让你能够使用自然语言在程序中添加说明。
在Python中,注释用井号(#)标识。井号后面的内容都会被Python解释器忽略,如下所示:

# 我是注释
print("Hello World!")	#我也是注释

第一行 #我是注释 将被忽略,而在执行第二行的时候,最后的 #我也是注释 也将被忽略,也就是只执行了print(“Hello World!”)语句:

Hello World!

写注释是一项非常重要的步骤,在学习Python的时候,你可以像我之前的例子一样,写上注释,也可以作为笔记来使用。


六、有趣的Python之禅

终于来到有趣的Python之禅了,我在第一次了解它的时候,我就感觉它像Python的一个彩蛋一样,它的每一句都十分耐人寻味,也对之后的编程有很大的帮助。
Python社区的理念都包含在Tim Peters撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在编译器中执行命令import this。

import this

然后运行,就会输出这一长串的“Python之禅”:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

附上翻译(摘取自https://www.cnblogs.com/huangbiquan/p/7881913.html):

Python之禅 by Tim Peters
 
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
 
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
 
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
 
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
 
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
 
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

KyrieFeng

请你喝奶茶

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

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

打赏作者

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

抵扣说明:

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

余额充值