当前位置 博文首页 > zy010101博客:Python——变量和基本数据类型

    zy010101博客:Python——变量和基本数据类型

    作者:[db:作者] 时间:2021-06-11 21:14

    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之禅。如下所示:

    ?

    下一篇:没有了