美文网首页玩耍Python每天写1000字工具癖
Python小课--Python基础:数据和函数(二)

Python小课--Python基础:数据和函数(二)

作者: 仟樱雪 | 来源:发表于2018-11-16 09:21 被阅读7次
    截图来自Python小课

    文|仟樱雪
    在Python小课-1-2节中,已经学习了基础模块--数据--数据类型(整数、字符串),以及基础模块--变量,基础模块--函数(input函数、print函数)。

    本节继续学习基础篇--数据与函数 截图来自Python小课

    1、基础知识--数据篇--数据类型
    数据:主要分为数据类型、变量、编码、类与对象;

    函数:
    计算机其实就是一个做数学运算的机器,所以计算机程序的主要任务就是处理各种数值、文本、音频、视频、图像等各种类型的数据;

    本节主要内容如下

    一、Python的几种简单数据类型:字符串、整数、浮点数;
    二、相关的函数:str(),int(),float(),type(),len()
    三、数据类型的转换

    1、数据类型--字符串
    (1)字符串:用单引号或者双引号括起来的任意文本,例如:'樱雪';英文是string,计算机中一般简写为str,
    字符串的呈现方式一般是用单引号或者双引号括起来的文本,比如 '樱雪':

    print('樱雪')
    print('樱雪')
    print('樱雪')
    print('樱雪')
    

    结果显示

    樱雪
    樱雪
    樱雪
    樱雪
    

    说明:
    1、第一行被打印出来的字符串樱雪,和第二行被打印出来的字符串樱雪,没有任何的不一样。所以单引号和双引号的效果是一样的。
    2、单引号和双引号只是一种表达方式,不是字符串的一部分。例如字符串 'ABC', 就是A 、B、C这三个字符而已。
    (2)字符串的应用

    应用一、包含单引号、双引号的字符串应用
    如果字符串内部包含了单引号【''】和双引号【""】的处理:利用【转义字符\】来标识。
    例如:如果打印:Let's go 这个字符串,根据已经学过的知识,我们会写:

    a = 'Let's go'
    print (a)
    

    说明:
    i、Python会报错: SyntaxError: invalid syntax,意思是“语法错误”,因为它只把前两个单引号中的Let当成了字符串

    ii、Python是从左往右匹配单(双)引号的——当它读到一个引号时,会记住这是字符串,当它再读到下一个引号时,默认计算结束,所以在计算机眼里,上面的'Let'是字符串,后续的内容,它并不能读取,于是产生一个报错。 截图来自Python小课 解决方案1:
    需要使用转义字符【\】,把字符串中的单引号转义一下,此时【' Let's go '】就变成了【' Let's go '】
    b = 'Let\'s go'#增加转义字符\
    print (b)
    
    运行结果: 截图来自Python小课

    解决方案2:用双引号来标识字符串

    c = "Let's go"
    print (c)
    

    说明:因为用了双引号作为标识符,而内部使用的是单引号,Python就能区分开来,正常运行了
    可以反过来使用,比如说外部用单引号,然后内部的文本含有双引号,也可以的:

    a = input('孔子曾说过哪句名言?')
    print('子曰:"'+a+'。"')
    

    说明:
    在这行代码里,我们能看到最后打印的字符串由三部分组成。
    第0部分是【子曰:"】,
    第1部分是变量【a】,
    第2部分是【。"】,
    这三部分用加号【+】连接起来了。
    在运行之后,然后输入一段孔子讲过的话,点击Enter继续。
    说明:这段代码也是可以正常显示的,这是字符串中,单引号和双引号的交替使用

    应用二、包含换行设置的字符串应用
    换行转义字符的使用,转义字符【\n】,它的作用是换行,例如:

    words = '今年的南方冷的透骨,人间不值得啊,我要回火星!'
    

    这是一首只有三行的短诗,如果你要把每一句换行呈现的话。可以在每一句后面加【\n】:

    words= '今年的南方冷的透骨,\n人间不值得啊,\n我要回火星!'
    print(words)
    
    运行结果如下: 截图来自Python小课

    说明:诗句开始换行了

    应用三、字符串结合type()函数、len()函数的使用
    type函数:它主要用于获取数据的数据类型,例如:

    a = '吴承恩'
    b = type(a)
    print(b)
    

    第1行:定义了变量a,并为其赋值。
    第2行:用type() 函数获取到了 a 的数据类型,并放在变量 b 里面。
    第3行:为了显示在屏幕上,使用print() 函数让我们看到。
    简洁做法:

    a = '吴承恩'
    print(type(a))
    
    终端显示了<class 'str'>,class代表类,而str代表字符串,所以这是一个字符串的类 截图来自Python小课

    应用说明:当我们通过某种方法,获得了一个变量,里面放了数据,我们期望里面放的就是字符串类型的数据,这时,type() 函数就能确认了。

    len()函数:它能帮我们获取到数据的长度。

    a = '吴承恩'
    b = len(a)
    print(b)
    

    第1行:定义了变量a,并为其赋值。
    第2行:用len() 函数获取到了 a 的长度,并放在变量 b 里面。
    第3行:为了显示在屏幕上,使用print() 函数让我们看到。
    简洁做法:

    a = '吴承恩'
    print(len(a))
    

    运行结果:终端显示了3,代表这个字符串的长度为3。

    (3)字符串小结: 截图来自Python小课

    2、数据类型--整数
    (1)整数:英文是integer,简写为int,跟普通的数字没啥区别。
    Python可以处理任意大小的整数,也包括负整数,在程序中的表示方法和数学上的写法一模一样:

    +:加法
    -:减法
    *:乘法
    /:除法
    %:取模,返回除法的余数,5%2返回1
    **:幂,返回x的y次幂,2**3等价于2的3次方
    //:取整除,返回商的整数部分,11//2返回5
    

    (2)整数和type()、len()函数的应用
    type函数的应用,例如:

    print(type(5))
    print(type('5'))
    

    返回结果:

    <class 'int'>
    <class 'str'>
    

    说明:5 和 '5' 是不一样的,一个是整数,一个是字符串。
    len函数的应用,例如:

    print(len(5))
    

    注意:去运行这行代码,会看到终端给我们报错

    Traceback (most recent call last):
      File "D:/Python_charm/hello.py", line 1, in <module>
        print(len(5))
    TypeError: object of type 'int' has no len()
    

    说明:
    请看图中的报错部分,line1表示第一行代码出了错,然后其中最后一行写着:TypeError: object of type 'int' has no len() 。
    意思是类型错误:整数这个类型没有len() 函数;可见,整数是不能使用len() 的。

    3、数据类型--浮点数
    (1)浮点数:很简单,就是带小数的数字。之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的.
    凡是带有小数点的数字,就都是浮点数。浮点数的英文是float,没有简写:

    1.0
    3.14159
    -0.33
    

    整数和浮点数,它们在计算机内部的存储方式是不一样的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差
    (2)浮点数和type()、len()函数的应用
    type函数,例如

    print(type(1.0))
    print(type(3.14159))
    print(type(-0.33))
    

    运行结果是:

    <class 'float'>
    <class 'float'>
    <class 'float'>
    

    len函数,例如

    print(len(1.0))
    print(len(3.14159))
    print(len(-0.33))
    

    运行结果是:

    Traceback (most recent call last):
      File "D:/Python_charm/hello.py", line 1, in <module>
        print(len(1.0))
    TypeError: object of type 'float' has no len()
    

    说明:出现报错,倒数第三行,写了问题出在 line1,所以第一行代码就执行不下去,最后一行,终端显示TypeError: object of type 'float' has no len()。意思是类型错误:浮点数这个类型没有长度。
    翻译过来:计算机是在说:浮点数没有len()函数,所以,整数和浮点数都不能使用len() 函数。

    4、数据类型的转换
    (1)数据类型转换介绍
    需要连接一个整数和字符串,再让print()函数打印出来的话,是不可以使用加号直接实现,需要转换数据类型,有3个函数可以实现这个功能,即str()、int()和float()函数。
    str()函数:可以让其他数据类型转换成字符串;
    int()函数:可以让其他数据类型转换成整数;
    float()函数:可以让其他数据类型转换成浮点数;
    例如

    t = 3
    print('我谈过'+t+'次恋爱。')
    

    输出结果:

    Traceback (most recent call last):
      File "D:/Python_charm/hello.py", line 2, in <module>
        print('我谈过'+t+'次恋爱。')
    TypeError: can only concatenate str (not "int") to str
    

    说明 :
    看倒数第三行,是line2有问题;再看最后一行写着TypeError: must be str, not int 意思是——类型错误:必须是字符串,而不是整数,也就是说,整数和字符串,用加号是拼接不起来的
    例如:

    a = input('随便输入一个数字')
    b = 1
    print(a+b)
    

    输出结果:

    随便输入一个数字54
    Traceback (most recent call last):
      File "D:/Python_charm/hello.py", line 3, in <module>
        print(a+b)
    TypeError: can only concatenate str (not "int") to str
    

    说明:在随便输入数据54后,报错了,问题出在line3,再看图片中的最后一行,还是同样的TypeError(类型错误),因为input() 函数接受的内容都是字符串的数据类型,虽然输入了一个数字,但放在变量a里面的,是字符串'3',整数和字符串无法相加,所以终端又会报错,这两段代码,终端都报错了。而它们俩的错误原因都是一样的——不同的数据类型,没办法拼接在一起。

    (2)数据类型转换应用
    str()函数应用:

    t = 3
    print('我谈过'+str(t)+'次恋爱。')
    

    运行结果:

    我谈过3次恋爱。
    

    说明:
    通过使用str()函数,t变为字符串,就可以连接字符串了

    str()函数应用:

    a = input('随便输入一个数字')
    b = 1
    print(int(a)+b)
    

    运行结果:

    随便输入一个数字54
    55
    

    说明:变量a的数据类型转换为整数,并成功打印出(a+b)

    5、课后练习
    练习1:请让这首诗实现换行的功能:
    print('《红豆》王维 红豆生南国, 春来发几枝。 愿君多采撷, 此物最相思。')
    操作:

    print('《红豆》王维 \n红豆生南国,春来发几枝。\n愿君多采撷,此物最相思。')
    

    运行结果:

    《红豆》王维 
    红豆生南国,春来发几枝。
    愿君多采撷,此物最相思。
    

    练习2:请写出这样一个程序:请用户输入每天花在手机上的娱乐时间 a,再把时间 a 乘以7,再打印--“您一周花在手机上的娱乐时间总共是××小时“。
    操作:

    a=input('请问您每天花在手机上的娱乐时间是几小时呢?')
    b=int(a)*7
    print('您一周花在手机上的娱乐时间总共是'+str(b)+'小时')
    

    运行结果:

    请问您每天花在手机上的娱乐时间是几小时呢?1
    您一周花在手机上的娱乐时间总共是7小时
    

    小结:
    1、不同数据类型的数据,不能用加号直接连接;
    2、input函数默认将输入的数据存储为字符串;
    3、整数和浮点数的存储方式不同,因此1和1.0是不同的数据类型,整数和浮点数都不能使用len() 函数;

    (注:2018.10.12,Python编程,捡破烂儿的笨小孩学习小记,有用就给个小心心哟,后续持续更新ing)

    相关文章

      网友评论

        本文标题:Python小课--Python基础:数据和函数(二)

        本文链接:https://www.haomeiwen.com/subject/vtcjfqtx.html