day03 数据类型与运算符

时间:2022-09-06 16:26:47

今日内容:

1、变量及常量的命名规范

2、与用户的交互

3、字符串的格式化输出

4、基本的数据类型

5、运算符

6、注释

今日重点:

1、变量及常量的命名规范

  (1)强制规范【如果违反会报错】

    1>  变量的命名只能使用字母、数字、下划线,且首字母不能为数字。

    2>  变量的命名不能与关键字重名,与有些关键字重名不会报错,但是与以下常用的关键字重名会报错:

      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

  (2)约定规范【如果违反也不会报错】

    1>  一般python中 支持 使用 _ 的方式连接两个单词的方式进行变量的命名,例如:age_andy = 18

    2>  也可以使用大驼峰(AgeAndy)与小驼峰命名法(ageAndy)

    3>  以__开头及结尾的变量名被称为魔法变量【内置函数】

    4>  以_开头的元素有特殊含义

    5>  常量使用全大写进行命名,但是并没有严格意义上的常量,在python运行过程中所有的数值都可以被改变,但是约定全大写的量不去改变。

    6>  对于常见的英文单词缩写,经常使用全大写。

2、基本的数据类型

  (1)整型 int

      1>  在 python2 中有 long与int  类型,但是在python3中只有 int 类型

      2>  两种类型的存储机制差别:

          在 python2 中,数据首先是以int类型进行存储的,但是如果数据过长就会重新开辟一个long类型的内存空间。

          在python3 中,任意长度的字符串都是以int类型进行存储的,如果数据过长,超出部分就会以字符串的类型进行存储,但是内部机制会使这种类型的数据能够进行计算。

  (2)浮点型 float

      1>  浮点型用来存储小数

  (3)字符串类型 str

      1>  字符串类型有两种表示方法:单行字符串 与 多行字符串

      2>  单行字符串使用 ''  |  ""  进行表示,字符串只能写在一行

      3>  多行字符串使用  ''' '''   |  """ """  进行表示 ,字符串可以写在多行,只要在引号之内就行。

  (4)布尔类型 bool

      1>  布尔类型只有True 与 False

      2>  数据都自带布尔值,但是只有在进行判断时才会显示这种特性,在逻辑运算符中,会依据数据的布尔值特性进行判断,但是,最后返回的是数据本身。

      3>  None 、 0 、空 的布尔值为False,空 包括空字典、空字符串、空列表等。

  (5)列表  list

      ls = [1,2,3,4]

      1> 列表的取值

        列表通过索引进行取值,列表的索引从0开始

      2>  列表的嵌套

        列表中的某一个值也可以是列表类型,取值时只要逐层通过索引取值就行了。

      3>  列表的内存表示

        在内存中,列表中每个值是单独进行存储的,列表中存储的是每个值的内存地址,列表的内存地址在栈区进行存储。day03 数据类型与运算符

  (6)字典 dict

      1>  字典也是存多个值的,但是为了对存的值有一个描述,所以使用 dict 来表示多个数据,通常,有多个同种数据形式 的值用列表,有多种数据类型的用字典

      2>  字典的取值:字典是通过 key 来进行取值的

      3>  字典的嵌套,字典的嵌套与列表的嵌套相同,通过 key 进入逐层取值就行。

3、运算符

  (1)算数运算符

      算数运算符主要有以下几种:

+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
**
// 取整
% 取模/取余

  (2)比较运算符:

> 大于
< 小于
== 等于
>= 大于等于
<= 小于等于
!= 不等于

    【注】:可以进行连比  5 < num < 10

  (3)赋值运算符

      1>  交叉复制:

        a = 10

        b = 20

        a,b = b,a

      2> 链式赋值

        a = b = c = 10

      3>  解压赋值

        ls = [1,2,3,4]

        a,b,c,d = ls

        【注】:解压赋值等号左右必须相同,否则会报错,但是如果使用 *_ 可以代替任意数量的变量,可以使用此方法取前面或后面的值   a,*_ = ls   ,此时 a = 1,其余的数值储存在下划线中。

  (4)逻辑运算符

      1>  逻辑运算符有 and  |  or  |  not

      2> 在进行逻辑运算时,比较的是布尔类型,但是最后返回的是 数值本身 或者 已经比较好的布尔值

      3>  逻辑运算符的优先级为: and < or < not,但是不用记优先级,因为如果进行联合运算时,可以增加括号,但是括号不能乱用。

其它内容

1、与用户的交互

  (1)输入:

      在 python3 中:

          使用input进行输入,输入的结果全部以字符串的形式进行存储。

            在 python2 中:

          raw_input 与 python3 中的 input 相同

          input 输入用户必须明确自己输入数据类型,输入的是什么类型就以什么类型存储。

               

  (2)输出:

        输出使用 print() 进行,在 python2 也可以省略括号。

       【注】:print()  自带换行符

2、字符串的格式化输出

  在进行字符串的输出时,有时字符串的某些内容不固定,为统一输出格式,会使用占位符对不定的内容进行占位,常用的占位符有两种:

    1>  %d  |  %s  |  %f

      %d :对整型进行占位

      %f:对浮点型进行占位 ,例如:" %010.6f "  ==>  小数点后六位,全部数据长度为10位(包含小数点,小数点占一位),右测对其,左侧不足位数补0

      %s:万能占位符,可以对所有的数据类型进行占位

      【注】:如果有两位以上的占位符,使用   "包含占位符的字符串" %(第一个,第二个.......) 表示。

      2>  format

      使用方法:"字符串{name}字符串".format(name="andy")

3、注释

  注释有单行注释 # 与多行注释 """ """

  多行注释需要在文档的开始,如果在文档的*会被表示成字符串。

今日思考:

  1、列表在内存中的存储机制

    列表的每个值在内存中是单独存储的,列表只存储值得内存地址,然后列表的内存地址存储在栈区中

  2、字典等类型在内存中的存储机制

    其余能够存储多个值得数据类型也与列表的存储机制类似。

  3、比较运算符可以比较两个值,返回的值为一个数字,而不是布尔值

    在比较运算符中,如果是两个值进行运算,或者是一个数字一个布尔值,进行比较时是根据数值自带的布尔值属性进行比较的,但是返回时返回的是数值本身。