python基础知识

python基础知识

  • 注释

    1. 单行注释:# 这是单行注释
      1. (注释和#之间添加一个空格)
      2. 在代码后面增加注释。和代码之间有2个空格
    2. 多行注释:""“这是多行注释”""
      1. 单引号或双引号都可以
      2. 函数的注释:在定义下面用多行注释。在函数调用文职,使用快捷键ctrl+q可以查看函数的说明信息。注意:因为函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行

    3.TODO注释

  • 算数运算符

    • 在python中*还可以用于字符串中
    print('--'*50)
    
  • 计算机中的三大件

    • CPU :负责处理数据、计算
    • 内存:临时存储数据(断电之后,数据会消失)
    • 硬盘:永久存储数据
  • 变量的基本使用

    • 变量名在第一次出现的时候才是定义变量
    • 变量名再次出现不是定义变量,而实直接使用之前定义过的变量
  • 变量的类型

    • 变量类型演练

      • 数字型

        • 整数:int
          • long:长整数
        • 布尔:bool
          • 真:True 非0
          • 假:False 0
        • 浮点数:float
        • 复数型(complex):主要用于科学计算:eg:平面场问题、波动问题、电感电容等问题
      • 非数字型

        字符串(str)

        • 常用操作

          • 判断类型

            方法说明
            string.isspace()如果string中只包含空格,则返回True
            string.isalnum()如果string至少有一个字符并且所有字符都是字母或数字则返回True
            string.isalpha()如果string至少有一个字符并且所有字符都是字母则返回True
            string.isdecimal()如果string只包含数字则返回True,全角数字
            string.isdigit()如果string只包含数字则返回True,全角数字、{1}、\u00b2
            string.isnumeric()如果string只包含数字则返回True,全角数字,汉字数字
            string.istitle()如果string是标题化的(每个单词的首字母大写)则返回True
            string.islower()如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True
            string.isupper()如果string包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True
          • 大小写转换

          • 查找和替换

          方法说明
          string.startwith(str)检查字符串是否是以str开头
          string.endwith(str)检查字符串是否是以str结束
          string.find(str,start=0,end=len(string))检测str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,,如果是返回开始的索引值,否则返回-1
          string.rfind(str,start=0,end=len(string))类似于find()函数,不过是从右边开始查找
          string.rindex(str,start=0,end=len(string))类似于index(),不过是从右边开始
          string_replace(old_str,new_str,num=string.count(old))把string中的old_str替换成new_str,如果num指定,则替换不超过num次。注:不会修改原有字符串的内容
          • 文本对齐
          方法说明
          string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
          string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
          string.center(width)返回一个原字符串居中,并使用空格填充至长度width的新字符串
          • 去除空白字符

            方法说明
            string.partition(str)把字符串string分成一个3元素的元组(str前面,str,str后面)
          • 拆分和连接

          方法说明
          string.partition(str)把字符串string分成一个3元素的元组(str前面,str,str后面)
          string,rpartition(str)类似于partition()方法,不过是从右边开始查找
          string.split(str=”“,num)以str为分隔符拆分string,如果num有指定值,则仅分隔num+1个子字符串,str默认包含‘\r’,’\t’,’\n’和空格
          string.splitlines()按照行(‘\r’,’\n’,’\r\n’)分隔,返回一个包含各行作为元素的列表
          string.join(seq)以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
          • 字符串的切片

            字符串[开始索引:结束索引:步长]
            

        列表(list)

        • 列表常用的操作 列表.

          序号分类关键字/函数/方法说明
          1增加列表.insert(索引,数据)在指定位置插入数据
          列表.append(数据)在末尾追加数据
          列表.extend(列表2)将列表2的数据追加到列表
          2修改列表【索引】=数据修改指定索引的数据
          3删除del 列表【索引】删除指定索引的数据。本质上是将变量从内存中删除
          列表.remove(数据)删除第一个出现的指定数据。
          列表.pop删除末尾数据
          列表.pop(索引)删除指定索引数据
          列表.clear清空列表
          4统计len(列表)列表长度
          列表.count(数据)数据在列表中 出现的次数
          5排序列表.sort()升序排序
          列表.sort(reverse=True)降序排序
          列表.reverse()逆序,反序
          • 列表.index():取索引
        • 循环遍历

          iteration遍历:从头到尾依次从列表中获取数据

          #for 循环内部使用的变量 in 列表
          
          for name in name_list:
          
          	循环内部针对列表元素进行操作
          
          print(name)
          

        列表可以存储不同类型的数据

        元组(tuple)

        • tuple(元组)与列表类似,不同之处在于元组的元素不能修改

          • 元组表示多个元素组成的序列
          • 元组在python开发中,有特定的应用场景
        • 用于存储一串信息,数据之间使用,分隔

        • 元组用()定义

        • 元组的索引从0开始

        • 定义一个空元组:tuple = ()

        • 定义一个只有一个元素的元组,需要在元素后面添加一个逗号:tuple=(元素,)

        • 方法:count()和index()

        • 应用场景

          • 函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据
          • 格式字符串,格式化字符串后面()本质上就是一个元组
          • 让列表不可以被修改,以保护数据安全
          info = ("zhangsan",18)
          print("%s 的年龄是 %d" %info)
          
          • 元组和列表之间的转换

        字典

        def:字典是无序的对象集合(使用Print函数输出字典时,通常输出的顺序和定义的顺序是不一致的)。用{}定义

        • 字典使用键值对存储数据,键值对之间使用分隔

        • key是索引

        • value是数据

        • 键和值之间使用:分隔

        • 键必须是唯一的

        • 可以取任何数据类型,但键只能使用字符串、数字或元组

        • 常用操作

          • 合并字典:字典1.update(字典2)
        • 遍历字典

          #for循环内部使用的‘key的遍历’in字典
          for k in xiaoming:
          	print("%s:%s" %(k,xiaoming[k]))
          
        • 应用

          • 用列表存储多个字典
        • 总结公共方法

          • python 内置函数

            函数描述备注
            len(item)计算容器中元素个数
            del(item)删除变量del有两种方式(del也可以作为关键字)
            max(item)返回容器中元素最大值如果是字典,只针对key比较
            min(item)返回容器中元素最小值如果是字典,只针对Key比较
            cmp(item1,item2)比较两个值,-1小于/0想等/1大于python3.x取消了cmp函数

            注意:字符串比较符合以下规则:”0“<”A”<”a”

          • 切片

            描述python表达式结果支持的数据类型
            切片“0123456789”[::-2]“97531”字符串、列表、元组
          • 运算符

            运算符python表达式结果描述支持的数据类型
            +[1,2]+[3,4][1,2,3,4]合并字符串、列表、元组
            *[’hi’]*4[’hi’,’hi’,’hi’,’hi]重复字符串、列表、元组
            in3 in (1,2,3)True元素是否存在字符串、列表、元组、字典
            not in4 not in (1,2,3)True元素是否不存在字符串、列表、元组、字典
            > > = == < =(1,2,3)<(2,2,3)True元素比较字符串、列表、元组

          注:在字典中用 in时,判断的是Key;In和not in 被称为 成员运算符

    • 变量的类型

      • type:可以查看一个变量的类型。

        name = 'xiaoming'
        type(name)
        =>str
        
    • 不同类型变量之间的计算

      • 数字型变量之间可以直接计算
        • 如果变量是boo型,在计算时:
          • True对应的数字是1
          • False对应的数字是0
      • 字符串之间使用+拼接字符串
      • 字符串变量可以和整数使用*重复拼接相同的字符串
      • 数字型变量和字符串之间不能进行运算
    • 变量的输入

      input函数

      • 关于函数

        一个提前准备好的功能,可以直接使用,而不用关心内部的细节

      • input函数实现输入

        • 默认输入的都是字符串类型
      • 类型转换函数

        函数说明
        int(x)将x转换为一个整数
        float(x)将x转换为一个浮点数
    • 格式化输出

      格式化字符含义
      %s字符串
      %d有符号十进制整数,%06d表示输出的整数显示位数,不足的地方使用0补全
      %f浮点数,%.2f表示小数点后只显示两位
      %%输出%
      %X输出十六进制
      print("格式化%s字符串"%变量1)
      print("格式化字符串"%(变量1,变量2...))
      #定义一个小数scale,输出数据比列是10.00%
      scale = 0.25s
      print("数据的比例是%.2f%%"%(scale*100))
      

      print输出时默认是换行结束。如果不想换行可以使用

      print('内容',end='')
      

      字符串中的转义字符

      • \t:在控制台输出一个制表符,协助输出文本时 垂直方向 保持对齐
      • \n:换行符
      • \:反斜杠符号
      • \’:单引号
      • \’’:双引号
      • \r:回车
    • 变量的命名

      1. 标识符和关键字

        1. 标识符:就是变量名、函数名

          1. 标识符可以由字母、下划线和数字组成
          2. 不能以数字开头
          3. 不能与关键字重名
        2. 关键字

          import keyword
          print(keyword.kwlists)
          
      2. 变量的命名规则

        python中的标识符是区分大小写的

        如果变量名需要两个或多个单词组成时,可以按照以下方式命名:

        • 每个单词都是用小写字母
        • 单词与单词之间使用下划线链接
        • eg:first_name、last_name、qq_number、qq_password
    • 判断语句

      if 条件1:
      	条件1满足时,执行的代码
      elif 条件2:
      	条件2满足时,执行的代码
      elif 条件3:
      	条件3满足时,执行的代码
      else:
      	以上条件都不满足时执行的代码
      
    • 完整的for循环语法

      for 变量 in 集合:
      	循环体代码
      else:
      	没有通过break退出循环,循环结束后,会执行的代码
      

      当判断语句内不知道填什么的时候,可以用pass来占位,保证程序结构的正确性

    • 运算符

      运算符含义
      ==判断是否相等,如果成立返回True,否则返回False。下同
      ! =不等于
      >大于
      <小于
      > =大于或等于
      < =小于或等于
    • 逻辑运算

      与and/或or/非not

      • and:只要有一个条件不成立,结果就不成立

        条件1 and 条件2
        
      • or:只要有一个成立,结果就成立

      • not:取反

    • 赋值运算符

      运算符含义
      =c=a+b
      +=c+=a等价于c=a+c相加,下同
      -=
      *=
      /=
      //=
      %=
      **=
    • 随机数处理

      import random
      random.randint(a,b) #返回[a,b]之间的整数,包含a和b;a>=b才正确,当a==b,表示结果一直时a
      
    • 循环

      • 程序的三大流程

        • 顺序 — 从上到下,顺序执行代码
        • 分支 — 根据条件判断,决定执行代码的分支
        • 循环 — 让特定代码重复执行
      • while循环基本使用

        **初始条件设置 -- 通常时重复执行的 计数器
        
        while 条件(判断 计数器 是否达到 目标次数):
        		条件满足时,做的事情1
        		条件满足时,做的事情2
        		
        		...
        		
        		处理条件(计数器 + 1**
        

        死循环:忘记修改循环条件

      • break和continue(只针对当前所在循环有效)

        • break:某一条件满足时,退出循环,不再执行后续重复的代码
        • continue:某一条件满足时,不执行后续重复的代码
      • while循环嵌套

    • 函数

      • 函数的定义

        def 函数名():
        		函数代码
        		...
        
      • 函数的调用

        使用函数名就可以调用:函数名()

      • 函数的参数

        • 参数的作用

        • 形参和实参

        • 不可变和可变参数

          • 在函数内部,针对参数使用赋值语句,不会影响调用函数时传递的实参变量
          • 如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,同样会影响到外部的数据
          • 在python中,列表变量调用+=本是上是在执行变量的extend方法,不会修改变量的引用。在函数执行结束后,外部数据同样会发生变化
        • 多值参数

          有时可能需要 一个函数 能够处理的参数 个数是不确定的,这个时候,就可以使用多值参数

          • args—存放元组** 参数,前面有一个*

          • kwargs —存放字典**,前面有两个*

            拆包:直接把元组和字典传给函数,需要在元组前加一个*,在函数前加2个*

      • 函数的返回值

        return 后的代码不能执行

      • 函数的嵌套使用

      • PYC文件

        C是compiled编译过的意思。PYC文件时由python解释器将模块的源码转换为字节码。python这样保存字节码是作为一种启动速度的优化

      • 关键字、函数和方法

        • 关键字:关键字后面不需要使用括号

        • 函数封装了独立功能,可以直接调用:函数(参数)

        • 方法和函数类似,同样是封装了独立的功能。方法需要通过对象来调用,表示针对这个对象要做的操作

          对象.方法名(参数)
          
      • 可以在一个python文件中定义变量或函数

      • 然后在另一个文件中使用import导入这个模块

      • 导入之后,就可以使用 模块名.变量/模块名.函数 的方式,使用这个模块中定义的变量或者函数。注:模块名也是标识符,不能以数字开头

      • 递归函数

        def:函数自己调用自己,只是每次的参数不同

        • 一定要有个出口,不然会陷入死循环
    • 可变类型和不可变类型

      • 不可变类型:内存中的数据不允许被修改:int、float、complex、
        • 字符串
        • 元组
      • 可变类型,内存中的数据可以被修改:
        • 列表list
        • 字典dict

      注意:字典的key只能使用不可变类型的数据

    • 在函数内部修改全局变量的值

      如果在函数中需要修改全局变量,需要使用global进行声明

不使用其他变量,交换两个数字:

a = 100 
b = 8
a = a + b
b = a - b
a = a - b

python 的专有解法

a,b = (b,a)

面向过程

[项目实战—飞机大战]

[Python技能树]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值