zoukankan      html  css  js  c++  java
  • 第003讲:小插曲之变量和字符串

    一 变量和字符串的概念

    1 变量

    • 定义:变量名相当于人的名字,在程序里面,它就是一个地址标识符;我们可以给变量赋值,即把值(或者数据)存储到变量(所代表的地址空间)中
    • 区别:python跟其它大部分计算机语言稍有不同,它不是把值存储在变量中,更像是把名字(变量)贴在值上面;
    •            所以有些python程序员会说:python没有变量,只有名字
    • 图解:https://www.jianshu.com/p/3289be65c76d
      • (1)C语言中变量的定义:
      •                                                    
      •          如上图所示,赋值b=a,就是新建一个盒子,然后把值赋值一份放过去,特点是:两个值之间完全独立。
      • (2)python语言中变量的定义:
      •         python的变量就是贴标签!(python里面不是什么都是对象么,我们的变量名就是一个标签而已,类属性啥的都在变量自己内部保存着呢!)
      •        上面的a=2之后,1就没有归属了,就无法调用了,python的基于引用的内存管理器很快就会把这个对象的内存给清理掉的
    •  扩展:http://c.biancheng.net/view/2171.html
      • (1)python是弱类型的语言
      •          在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言、C++、Java 是强类型语言的代表
      •          和强类型语言相对应的是弱类型语言,Python、JavaScriptPHP 等脚本语言一般都是弱类型的。
      • (2)弱类型语言的特点
      •          变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
      •          变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
      •          注意:弱类型并不等于没有类型!弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。我们可以使用 type() 内置函数来检测某个变量或者表达式的类型

     2 变量的命名规则:https://blog.csdn.net/weixin_42711549/article/details/82147012

    • 命名的规范性:
      • 变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以。
      • 系统关键字不能做变量名使用
      • 除了下划线之外,其它符号不能做为变量名使用
      • Python的变量名是区分大小写的
    • 驼峰命名法:
      • 大驼峰:每一个单词的首字母都大写       FirstName LastName
      • 小驼峰:第一个单词以小写字母开始,后续单词的首字母大写     firstName lastName
    • 拓展:https://www.jianshu.com/p/9270aa5468c0
    • 标识符:
      • 标识符就是在程序中定义的变量名函数名
      • 标识符可以由字母下划线数字组成。
      • 标识符不能以数字开头。
      • 标识符不能与关键字重名。
      • 标识符区分大小写
    • 关键字:
      • 关键字就是在Python内部已经使用的标识符
      • 查看Python关键字:
    • 注意:python3可以用汉字命名

    3 字符串

    • 创建:用一对单引号或者双引号就可以创建一个字符串
    • 转义字符:https://www.runoob.com/python/python-strings.html
    • 原始字符串:在平时的字符串前面加一个r即可,转义字符反斜杠过多的时候,用原始字符串即可输出特殊字符
      • 例如:   
      • 注意:原始字符串在最后不能加反斜杠,例如: str = r"C: ow",非要加的话见课后练习题
      • 执行结果:>>> str = r"C: ow"
      •                   File "<stdin>", line 1
      •                   str = r"C: ow"
      •                                          ^
      •                    SyntaxError: EOL while scanning string literal
    • 长字符串:可以使用三重引号定义字符串,即三个成对的双引号或者三个成对的单引号

     二 课后题答案

    (一)测试题部分

    0. 以下哪个变量的命名不正确?为什么? (A) MM_520 (B) _MM520_ (C) 520_MM (D) _520_MM

       (C)选项不正确,因为 Python 中的变量名不能以数字开头。

     

    1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

    >>>myteacher = '小甲鱼'
    >>>yourteacher = myteacher
    >>>yourteacher = '黑夜'
    >>>print(myteacher)

       会打印:小甲鱼

     

    2. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

    >>> myteacher = '小甲鱼'
    >>> yourteacher = myteacher
    >>> myteacher = '黑夜'
    >>> print(yourteacher)

       会打印:小甲鱼

     

    3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

    >>>first = 520
    >>>second = '520'
    >>>first = second
    >>>print(first)

        会打印:520,注:这里没有单引号括起来,但是他是一个字符串,因为使用 print() 打印,所以不包含单引号。可以试试直接>>>first,它是一个字符串的。

     

    4. 除了使用饭斜杠()进行字符转义,还有什么方法可以打印:Let's go! 这个字符串?

        >>>"Let's go!"


    5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?

        >>>str = r'C:Program FilesFishCGood''\'

    6. 在这一讲中,我们说变量的命名需要注意一些地方,但小甲鱼在举例的时候貌似却干了点儿“失误”的事儿,你能看得出小甲鱼例子中哪里有问题吗?   
     
    在例子中小甲鱼起了个 str 名字的变量,但事实上我们发现,str 的颜色跟普通变量貌似不同?没错,str() 和 print() 都是内置函数,但 Python 貌似不介意我们对内置函数进行赋值操作,所以这点我们以后就要注意啦,否则可能会出现以下的 BUG:

    1. >>> print = 1
    2. >>> print("I love FishC")
    3. Traceback (most recent call last):
    4.   File "<pyshell#37>", line 1, in <module>
    5.     print("I love FishC")
    6. TypeError: 'int' object is not callable

     

    (二)动动手答案:

    0. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?
    1. DaysPerYear = 365
    2. HoursPerDay = 24
    3. MinutesPerHour = 60
    4. SecondsPerMinute = 60
    5. result = DaysPerYear * HoursPerDay * MinutesPerHour * SecondsPerMinute
    6. print(result)
  • 相关阅读:
    Cheatsheet: 2012 03.23 ~ 03.31
    Cheatsheet: 2012 04.13 ~ 04.24
    Cheatsheet: 2012 02.09 ~ 02.29
    Cheatsheet: 2012 03.01 ~ 03.12
    Cheatsheet: 2012 03.13 ~ 03.22
    Cheatsheet: 2012 01.20 ~ 01.31
    Cheatsheet: 2012 04.01 ~ 04.12
    Cheatsheet: 2012 04.25 ~ 05.03
    Cheatsheet: 2012 01.10 ~ 01.19
    1.30
  • 原文地址:https://www.cnblogs.com/luoxun/p/13195064.html
Copyright © 2011-2022 走看看