前端学习:python基础-1

 False、True、None

1、模块

  一个文件为一个模块,跨文件访问需要导入语句的形式

  eg:

    import <模块名>

    form <模块名> import <代码元素>

    form <模块名> import <代码元素> as <代码元素别名>

    与前端差异:

    import <模块>/{ 模块中变量 } form <路径>

    imprt <模块> as <模块别名> /  { 模块中变量 as 模块中变量别名 } form <路径>

 2、数据类型

    Python中有6种主要的内置数据类型:数字(int)、字符串(str)、列表([])、元组(())、集合和字典

    Python种有4种数字类型:整数类型(int)、浮点类型(float)、复数类型(complex)和布尔类型(True和False)

    与前端差异

    js五种基本数据类型:string(字符串)、number(数字)、boolean(布尔值)、null、undefined

    引用数据类型:object(包含Arrray、Function等)

    还有新增的数据类型: symbol、bigInt

 3、数字转换

    隐式类型转换:True === 1;False === 0

    eg:

      1.0 + 1 + True = 3.0

      1.0 + 1 + False = 2.0

    显式类型转换:

      都有自己的转换函数

      整数转换函数:int()

        eg: int(True) === 1 ; int(False)  === 0 ; int(1.0)  === 1 ; int(0.6) === 0 (截掉小数部分)

      浮点数转换函数:float()

        eg: float(False) === 0.0 ; float(True) === 1.0

      bool转换函数:bool()

        eg: bool(0.0 或 0) === False ; float(非0) === True

    bool()函数可以将None、0、0.0、0j(复数)、''(空字符串)、[](空列表)、()(空元组)、{}(空字典)转换成False

 4、运算符

    算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)、**(幂次方)、

      //:(地板除法)求小于a与b的商的最大整数

        eg: 3//2 = 1 (1.5的最大整数) ; -3/2 = -2 (-1.5的最大整数)

    比较运算符:==(等于,等同于===)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)

    逻辑运算符:

      not: 非

        eg: not False === True

      and: 与

        eg: False and True === False

      or: 或

        eg: False or True === True

      与前端的区别:

        表达不同(意义相同):not === ! ; and === && ; or === || ;

    位运算符(先记第一个,其他的暂时不用学):

      ~:位反,将x的值按位取反

        eg: ~a = (a + 1) * -1

      &:位与,x & y, 将x与y按位进行位与运算

       |:位或,x | y, 将x与y按位进行位或运算

       ^ :位异或,x ^y, 将x与y按位进行位异或运算

      >>:右移,x >> y,将x右移a位, 高位采用符号位补位

      <<:左移,x << y,将左移a位, 低位采用0补位

    赋值运算符:

      +=:加赋值。 a+=b => a = a + b

      -=:减赋值。 a-=b => a = a - b

      *=:乘赋值。 a*=b => a = a * b

      /=:除赋值。 a/=b => a = a / b

      %=:取余赋值。 a%=b => a = a % b

      **=:幂赋值。 a**=b => a = a ** b

      其余还有位运算符的赋值

    运算符优先级(从上向下):

      (): 小括号

        ** : 幂

        ~ :位反

        +、- :正负号

        *、/、%、//:乘、除、取余、地板除

        +、-:加、减

       <<、>> : 位移

       &:位与

       ^:位异或

      |:位或

       <、<=、>、>=、<>、!=、== :比较

       not : 逻辑非

       and、or: 逻辑与、逻辑或

5、if 结构:

    缩进(在Python编程规范中推荐使用4个半角空格)

    if 判断条件:    或者  if 判断条件:    或者   if 判断条件:

       执行内容          执行内容            执行内容

                  else:             elif 判断条件

                    执行内容           执行内容

                                 else:            

                                   执行内容

  与前端的区别:

    前端为:

      if (判断条件) {  或者  if (判断条件) {  或者  if(判断条件){ 

      }            } else {         } else if (判断条件) {

                   }             }

 

   循环:

    while语句:       或者    for 变量 in 可迭代对象:   例如:  for item in 'HELLO':  又例如:  for element in [1, 2, 3, 4]:  

      while 循环条件:            循环体语句组       =>     print(item)        ==>       print(element)

        循环体语句组          else:

      else:                  语句组

        语句组

   跳转语句:

    break:跳出循环

    continue:跳出本次循环, 进行下次循环

6、序列:

   索引: 与前端概念相同

      不同:a = 'hello'; a[5]索引超出长度,python报错,js为undefined

    加和乘(js字符串不可以用乘):

    'hello' + 'world' == 'helloworld'  与前端相同

    'hello' * 2 == 'hellohello'     等价于前端 'hello'.repeat(2)

   切片操作:

    切片运算符的语法形式为: [start, end, step]

      注意,切下的小切片包括start位置的元素,但不包括end位置的元素, start和end都可以省略  

      start是开始的索引,end是结束的索引,step是步长(切片时获取的元素的间隔,可以为正整数,也可以为负整数)

      步长暂时理解为,先切,再从start(包含)开始间隔step后取值,在取值(包含)开始再间隔step...  

      eg:             

        text = 'HELLO'        or      text = '0123456789'

        print(text[2:4]) => "LL"           print(text[::2]) => '02468'

          print(text[:]) => 'HELLO'           print(text[::3]) => '0369'

      省略开始索引 = 默认开始索引为0; 省略结束索引 = 默认结束索引为序列的长度;可以使用负索引

    成员测试:

      成员测试运算符有两个: in 和 not in; 分别用于测试是否包含/不包含某个元素;

7、列表:

    列表(list) : 是一种可变序列类型,我们可以追加、插入、删除、和替换列表中的元素。

      list('hello') => ['h', 'e', 'l', 'l', 'o']

      type([]) => <class 'list'>ty

      通过list函数创建列表对象,字符串是序列对象,创建的列表对象包含5个字符

    与前端差异:

      eg: new Array('hello') => ['hello']

  

    追加元素:

      1、在列表中追加单个元素时,可以使用列表的append(x)方法(不能同时追加多个元素)

        eg:

          list1 = [1,2] 

          list1.append(3)

          print(list1) => [1, 2, 3]

        与前端差异:等价于js的push(3)方法

      2、在列表中追加多个元素时,可以使用加(+)运算符或者列表的extend(list2)方法(可以追加多个元素)

        eg: 

          list1 = [1, 2]

          list2 = [3, 4]

          list1.extend(list2) 或者 list1 = list1 + list2

          print(list1) => [1, 2, 3, 4]

        与前端差异:等价于前端的concat(array2)方法,当然还可以使用别的方式实现

     插入元素:

        插入元素,使用列表的.insert(index, x)方法: index表示要插入的索引位置(也可以理解为新元素索引为index),x为要插入的元素

        eg:

          list1 = [10, 20, 30, 40, 50]

          list1.inset(3, 100)

          print(list1) => [10, 20, 30, 100, 40, 50]

         与前端差异:splice方法,可做增删改

     替换元素:

        替换元素,直接将列表下标索引元素放在赋值符号(=)的左边即可(就是直接赋值)

        eg: 

          list1 = [10, 20, 30]

          list1[1] = 100

          print(list1) => [10, 100, 30]

 

      删除元素

        使用列表的.remove(x)方法:x表示需要删除的元素

        eg:

          list1 = [10, 20, 20, 30]

          list1.remove(20)

           print(list1) => [10, 20, 30]

        前端使用splice方法

8、元祖

    元祖(()): tuple 是一种不可变序列类型

      创建元组

         1、tuple(): 函数  

          eg:

            tuple([1, 2, 3]) => (1, 2, 3) => 小括号可以省略 1,2,3

            tuple('hello') => ('h','e','l','l','l','o') => 小括号可以省略 'h','e','l','l','o'    创建字符串元祖

         2、(元素1, 元素2, 元素3, 元素4, 元素5)

           eg:

            (1,2,3)

            () 可以通过tuple函数或者()创建空元祖

            (1,) 或者 1,  => 创建一个只有一个元素的云组,元素后面的逗号不能省略

P40

                      

 

 

 

 

 

 

 

      

     

      

              

 

 

 

 

 

 

 

 

 

 

 

 

 

 

             

 

posted @ 2023-09-20 20:31  HandsomeGuy  阅读(54)  评论(0编辑  收藏  举报