私有云平台 数据算法 postgresql api generics xpath vcpkg electron base64 sql server 视频教程 java后台框架 jq解析json eclipse闪退 kafka消费不到数据 python数据类型转换 xshell搭建ss mysql时间戳转换日期 python开发教程 python算法 python获取字典的值 python写入文件 java数据 java语言代码大全 java入门基础 java对象是什么 javaspring java判断是否为空 vbscript程序员参考手册 简体中文语言包 制作字幕的软件 java疯狂讲义 cg模宝 脚本之家官网 tar解压 朋友圈访客记录教程 pr蒙版怎么用 winsxs可以删除吗 趣学python编程 kms工具 狂战传说套装选择
当前位置: 首页 > 学习教程  > 编程语言

Python——变量和基本数据类型

2021/3/4 0:01:28 文章标签:

python对于初学者友好的地方就在于,没有一些固定的,格式化的东西需要写上,初学者可以开始自由的写点东西来开始学习python。 下面是我正在听歌的时候,随手写的打印歌词的代码。 song_name "光阴的故事" print(song_na…

python对于初学者友好的地方就在于,没有一些固定的,格式化的东西需要写上,初学者可以开始自由的写点东西来开始学习python。 下面是我正在听歌的时候,随手写的打印歌词的代码。

song_name = "光阴的故事"
print(song_name)
author = '作词:罗大佑'
print(author)
author = '作曲:罗大佑'
print(author)
author = '演唱:罗大佑'
print(author)
lrc_1 = "春天的花开秋天的风以及冬天的落阳"
print(lrc_1)
lrc_2 = "忧郁的青春年少的我曾经无知的这么想"
print(lrc_2)

他的运行结果如下所示:

代码中的song_name,lrc_1,lrc_2等被称为变量,上面的变量名称都是合法并且合理的,在python中变量名应当是字母,数字,下划线组成的,并且不能以数字开头。这和C语言一样。建议变量名全部小写,单词之间使用下划线分割。

另外一点值得注意,那就是Python3默认支持Unicode编码方式,所以,有时候你会看到有些人的变量名是中文的,这是可以的,但是如果是python程序员,这么干并不太好。如果只是使用python办公,那当然没有问题。例如下面的例子。

姓名 = "张三"
性别 = "男"
年龄 = "24"
print(姓名)
print(性别)
print(年龄)

程序执行结果:

在python中,以引号括起来的都是字符串类型,Python没有单个字符的说法,只有字符串。这点和C语言不一样,需要注意。例如,上面打印歌词的程序中,author变量的赋值都是单引号。这样带来了一些便利的功能,例如下面的例子。

message = '"Python is a good language!"'  # 这样就能很方便的打印双引号,而不需要使用转义字符
print(message)
message = "\"Python is a good language!\""  # 使用转义字符也能做的,就是麻烦了一些。
print(message)

程序执行结果:

在程序中,灵活使用单引号和双引号以及转义字符,能让书写程序变得简洁。

字符串

在学习其他的东西之前,我们先来学习一下输入和输出。之前使用的print()函数就是常用的输出函数。它负责将内容打印到屏幕上。python内置了输入函数input(),它能将用户的键盘输入进行读取。下面来尝试使用一下。

name = input("Please input your name:")
print("Hello,",name)

执行代码以后,可以看到出现提示 Please input your name:,然后我输入了我的英文名“nicholas zhao si”,输出的结果如下图所示:

通过这个例子,可以知道input函数的参数是作为提醒用户输入的提示内容,这不是最重要的,最重要的是,input函数在python3中读取到的用户输入都是字符串类型而且print函数可以有多个参数,用逗号隔开即可。仔细观察还能发现,print函数打印两个参数之间会有一个空格。刚才我们输入的名字有点问题,那就是首字母没有大写。不过,python内置了一个函数title可以做到将首字母变成大写,其他字母小写。下面的代码展示了如何使用title。

name = input("Please input your name:")
print("Hello,",name.title())        #将用户输入的每一个单词的首字母变成大写。

执行这段代码,然后它的结果如下图所示:

这个函数,对于我们这样的非字母文字的使用者而言,用到它的频率可能非常低。不过,我们需要注意的是使用它的方式,我们是使用name.title()来使用它的。前面说过,input输入的都是字符串,那么name就是字符串类型,而这个title就是字符串类所提供的方法。所以需要使用name.title来使用它。需要注意的是,title函数没有参数,并且它并没有name本身的值,要想改变name本身的值可以使用下面的方式。

name = input("Please input your name:")
print("Hello,",name.title())        #将用户输入的每一个单词的首字母变成大写。
print("name:",name)

name = name.title()     #改变name的值

print("name:",name)

程序运行结果如下图所示:

现在,我们来看我们更常用的函数upper()和lower()函数。

upper()函数能够将所有字母转为大写;而lower()函数则相反,能够将所有字母转为小写。下面这个例子包含了简单的if-else语句,这和C语言的非常类似。

code = input("请输入验证码:X6sQ(不区分大小写)")
if code.upper() == "X6SQ":      #如果成立,打印OK
    print("OK")
else:                           #否则,打印NO
    print("NO")

运行结果如下所示:

可以看到,我们输入的只要是正确的验证码就没有问题,无论你输入的验证码中的字母是大写还是小写。同理,使用lower()函数也可以很容易做到。代码如下所示:

code = input("请输入验证码:X6sQ(不区分大小写)")
if code.lower() == "x6sq":      #如果成立,打印OK
    print("OK")
else:                           #否则,打印NO
    print("NO")

有时候,我们需要在字符串中加入变量,然后进行输出。为此,python提供了一种简单的,人性化的方式来完成这件事。即:f字符串。下面是一个例子。

name = input("请输入你的名字:")
out = F" 你好,{name}! "        #使用f字符串
print(out)        

来看执行结果,结果如下所示:

可以看到在输出的时候花括号内的变量name的值被输出了。f字符串可以使用F(或者f)在字符串外面修饰字符串,然后字符串内部就可以使用{}把变量给包起来,就能成功的将变量的值嵌入到字符串中了。这个功能非常强大,尤其是当你遇到写SQL语句的时候。f其实是 format的简写。需要注意的是,f字符串是python3.6引入的,更早的版本并不支持这个功能。

python还内置了清空空白字符的函数,非常好用。例如下面所示:这个效果在终端下看起来是最明显的。

在代码中输出之后,看起来不是很明显。不过下面这个例子是经过精心设计的,效果看起来还是不错的。

name = "\tNicholas\tZhao\tSi\n"
print(name)
print(name.strip())
print(name.lstrip())
print(name.rstrip())

运行结果如下所示:

打印name本身,可以看到开头有一个制表符,中间各自有一个制表符,最后的换行符也很明显;然后strip函数将开头和末尾的空白字符去除了,所以开头的制表符和末尾和换行符没有了。lstrip将开头的空白字符去除,rstrip将末尾的空白字符去除。这个例子的效果非常显著。不过如果想将改动作用到变量本身就需要使用下面所示的方式。

name = name.strip()

数字类型

和其他语言一样,python的数字类型也分为整数类型和浮点数类型两种。python的整数类型支持使用+,-,*,/,来完成加减乘除操作。例如:

print(1+2)
print(1-2)
print(1*2)
print(1/2)
print(2/2)

运行结果如下所示:

从结果中可以看到,python的除法得到的是精确的结果,是一个浮点数。而不像C语言,整除的结果依旧是整数,另外注意除数不能为0。python还支持乘方运算符“**”。如下所示:

print(2**10)
print(2*3.5)

输出结果如下所示:

同时,注意到整数和浮点数的运算结果,也必定是浮点数。当然了,无论是加减乘除还是什么运算,只要操作数中有一个浮点数,那么结果必定是一个浮点数。

python的浮点数同样也支持上面的所有操作。不过和其他语言的一样的是,浮点数总是不能够精确的表示。如下所示:

print(2.1**2.2)
print(3*0.1)

运行结果如下所示:

python还非常人性化的提供了大数识别的操作。可以使用下划线给数字分组,来使得数据很容易的辨识出来。这对程序员真的太友好了。如下所示:

print(123_0000_0000)      # 中国人习惯4位一组
print(123_000_000)        # 外国人习惯3位一组

运行结果如下所示:

程序员阅读程序的时候很方便,打印的时候也不会有下划线,真是太贴心了。python在存储数字的时候会将下划线给去掉。需要注意的是,python3.6以上的版本才支持。

python还支持同时给多个变量赋值。例如:

i, j, k = 1, 2, 3
print(i, j, k)

运行结果如下所示:

从这些方面来说,python是非常人性化的,非常伟大的程序设计语言。

稍微有些遗憾的是,python没有内置常量类型,Python 程序员会使用全大写来指出应将某个变量视为常量。例如:

MAX_VALUE = 500

哦,忘记了一些事情,那就是python支持整除运算,使用运算符//。下面我们来展示一下。

print(32//4)
print(32/4)

运行结果如下所示:

还有一件事情,那就是注释,我前面的代码已经在使用了,那就是#后面的内容就是注释。python不支持多行注释。不过python有三引号,三引号括起来的内容也是字符串,不过三引号能够跨行,所以有时候也使用三引号括起来一段文本,当作注释。例如:

"""
这是一段注释
里面写的都是废话
他对你理解这段代码没有任何帮助
"""

关于优秀的python程序的编写指南,其实隐藏在一个模块中,你只需要在交互式终端输入import this,就能看到python之禅。如下所示:

 


本文链接: http://www.dtmao.cc/news_show_763155.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?