zoukankan      html  css  js  c++  java
  • Python基础概括

    python 多练吧!

    一、编程语言的分类

    机器语言:01001010,高低电平,计算机懂的语言。
    
    汇编语言:命令对应01010011的机器语言,翻译到机器语言进行执行。
    
    高级语言:比如 python ,代码需要用编译器编译成机器语言,再执行。
    
    ​    编译型:把代码全部编译后,再执行,比如C语言
    
    ​    解释型:解释一句,执行一句,比如python
    

    二、代码执行方式

    交互式:黑框边编写边执行,不能存放代码
    
    脚本的方式:python3 文件的路径
    
     
    python3 test.py
    
    1、启动解释器python3
    2、将test.py由硬盘读入内存
    3、python3解释器执行读入内存的代码
    

    三、环境变量

    系统查找文件的第二优先目录,当在当前目录找不到时,就到环境变量中找,顺序查找。
    
    注意:exe文件不能对原文件直接进行重命名,要建立备份后重命名,否则,原程序不能运行。
    

    四、快捷键

    Ctrl + z :撤销
    
    Ctrl + alt + l:代码格式标准化
    
    Ctrl + ?:注释
    
    Tab:向后缩进
    
    shift + Tab:向前缩进
    

    五、变量

    what:变化的量
    why:用于表示量的状态
    how:a = 1(a是个变量,指向整数1)
    
    
    变量名的命名规则:
    
    1 变量命名规范:数字、字母、下划线(“_”)
    2 数字不能开头
    3 不能命名为关键字,比如:print;重写覆盖了print,不能使用print的原有功能了。
    
    
    命名风格:
    age_of_boy;AgeOfBoy
    见名知意
    

    六、数据类型

    就是变量的类型,用于表示不同类型的数据的状态,所以有不同的类型。

    变量的数据类型:

    1)string 字符串类型:
    单行:'字符串'、"字符串"
    
    三引号可以定义多行内容:"""多行字符串"""
    
    '''
     字符串
     字符串
     字符串
    '''
    
    引号嵌套邻近配对,注意不能混用,比如:'字符串"
    
        1) 索引取值
        2) 不可更改
        3) 切片
          list1[0:3:1]
          取出list中的索引 0 到 2 的元素,1 为步长
        4)in 成员运算符
        5)移除空白 strip
          a.strip('*')
            移除两边的 * 
          b.strip('*/><?')
          isdigit()
          int()
        6)split 以什么未分割符,将字符串切割为列表
          res.split(':')
          split('+*/') 三个符号当一个分割标志
    
    2)int 整型:数字 整数类型
    3)float浮点型:小数
    数字类型:Int、float
    
        1) 比较运算
        2) 数学运算
          字符比大小,编码的大小比较
          不同类型不能比,int 和 float可以,都是数字
    
    4)list 列表:a = [1,2,"3"]
    a[0] = 1
    a[1] = 2
    从 0 开始,索引取值
    反向取值,最后一个元素索引为 -1,倒数第二个 -2
    a[-1] = "3"
    
        1) 追加,append
          list1.append('*')
        2)插入,insert
          list1.insert(1,'*')
        3)删除,del remove
          del list1[0]
          list1.remove('aaa')
          没有返回值,返回None,不会返回被删除的值
    
    5)dict 字典类型:a = {'name':'wl','age':24,}
    {key : value}
    key 键;value 值;
    key 对应 value
    取值:a['name'] = 'wl'
    
    dict1.get(key),不存在 返回None
    
    dict1.get(key,"自定义的默认值”)
    
     
    
        1)按key取值
          dict1['key'] = 'no'
          有则索引,没有则创建
        2)删除 pop
          dict1.pop('key')
          有返回值,返回删除的值 
        3)Python2
          dict1.keys() key 的列表
          dict1.values() value 的列表
          python3 迭代器?
          老母鸡与鸡蛋
    
          for k in dict1.keys():
            print(k)
          for k in dict1:
            print(k)
          for in dict1.values():
            print(k)
        4)dict1.items() 键值对
          for k,i in dict1.items():
            print(k,i)
          k,i = ('age',1) 组成的数组(python2)
          python3还是母鸡
    
    6) bool 布尔类型

    只有True 和 False两个值

    七、输入和输出

    输入:input

    str1 = input('请输入:')
    str1是输入的内容,且为字符串类型

    类型强制转换,比如,str1 = int(str1)

    python2:input:输入时,必须明确输入的数据类型,比如,
    age = input('age:')
    age: 'egon' 表示是个字符串,python3已经废除,因为不方便使用者输入

    python3 :input 都转化为str类型
    python2 :
    raw_input 都转化为str类型
    input :输入是什么类型,就是什么类型

    输出:print

    print('my name is %s,my age is %s'%('wl','23',))
    一个量格式化
    print('my name is %s'%'wl')
    %s :接收字符串类型,但是可以接受任何类型
    %d :接收整型
    %f :接收浮点型

    %t:制表符,按列对齐

    print(a,end = '')
    isdigit() 判断是否是数字
    strip() 去除两边空格

    八、基本运算符

    算数运算符

    + - * / %(取余数)
    10 / 3 = 3.3333
    10 // 3 = 3
    10 % 3 = 1
    

    比较运算符

    >,<,>=,<=,!=(不等于),==(相等)
    注意:=是赋值,不是等于
    

    赋值运算符

    =
    
    增量赋值
    a = a + 1 等同于 a += 1
    
    交叉赋值
    a = 1 
    b = 2
    a,b = b,a
    
    链式赋值
    x = 7 
    y = x
    z = y
    a = z
    x = y = z = a = 7
    
    如果是[],改变其中一个就改变所有,因为指向同一个地址
    
    解压赋值
    l = [1,2,2,3,1,4]
    a = l[0]
    b = l[1]
    c = l[2]
    d = l[3]
    e = l[4]
    f = l[5]
    a,b,c,d,e,f = l
    正常情况:左边值的个数 = 右边包含的值的个数
    取前两个值
    a,b,*abc = l
    可以避免写多个变量(*的符号)abc 是剩下的值 习惯上,写做 *_
    取后面两个值
    *_,m,n = l
    取前面三个,后面两个值
    a,b,c,*_,m,n
    取中间,只能用索引,,,
    
    解压赋值与切片的结合
    
    a,b,c = list1[0:3]
    

    逻辑运算符

    与:and 取交集,同时成立,则为True
    或:or 取并集,其中一个成立,则True
    非:not 取反
    混用,用括号区分优先级就好了
    not 3 < 4 等同于 not (3 < 4)
    
    not > and > or
    not 取反紧跟其后的那个条件,优先级高
    从左到右判断,除去优先级
    

    短路运算:

    条件1 and 条件2
    如果条件1 为假,则整个and都为假,不用再往后判断了
    条件1 or 条件2
    如果条件1 为真,则整个or都为真,不用再往后判断了
    
    a = 0 or 1
    a = 1
    a =1 > 0
    a = True
    

    九、流程控制之if判断

    if num > 90:
      代码
    elif num > 80:
      代码
    elif num > 70:
      代码
    else:
      代码
    前面的不成立,才执行后面的
    
     
    
    if True:break
    一行代码,可以写成一行
    

    补充十:

    Cpython解释器:用C写的python解释器。
    
    计算机硬件:三大核心:CPU、内存、硬盘
    应用软件、操作系统、计算机硬件
    
    关于集合set()类型:https://www.cnblogs.com/liuxu2019/p/11173986.html
    
     
    
    python 规范:不要用检查len(list1) == 0的方式来判断列表是否为空,直接if list:
    
    True转换成数字,进而判断是真还是假,所以 1 比 True 快
    
     
    python2 与 python3:  
    
    python3 :input 都转化为str类型
    python2 :
    raw_input 都转化为str类型
    input :输入是什么类型,就是什么类型
    

    十一、流程控制之while循环

    while 条件:
      代码
    tag = True
      while tag:
        while tag:
          while tag:
            tag = False
    终结所有循环
    while count <5:
      代码
    else:
      代码
    当循环不被break打断,执行else
    
    break:直接跳出循环,最近的一层循环
    continue:跳出本次循环,执行下一次循环
    pass:跳过,执行之后的代码
    
    while True:
      input()
      print()
    有停顿,涉及I/O操作
    单纯的计算的死循环有害
    continue > 1 + 1
    

    十二、流程控制之for循环

    for循环:
    for i in list1:
      代码
    
    遍历字典,
    for i in dic:
      print(i)
    i 是字典的key
    
    for i in range(3):
      语句
    else:
      语句
    else循环正常结束,没有被break结束时,运行
    循环体有最大次数限制的时候,用for有奇效。。。
    
    取值用for , 通常
    循环某一段代码用while,通常
    
    range(0,3)
    取出0,1,2
    取左不取右
    range(3)
    默认第一个参数为 0 
    range(0,3,1)
    第三个参数默认是 1 ,步长,比如 -1 
    len(list1) 得到list1长度方法
    
  • 相关阅读:
    eclipse3.2 汉化 汉化包下载
    JAXB 操作XML 与 Object
    具体解释三层架构图
    四个好看的CSS样式表格
    LinearGradient线性渲染
    JAVA wait(), notify(),sleep具体解释
    System.currentTimeMillis();
    nefu117 素数个数的位数,素数定理
    java jdk缓存-128~127的Long与Integer
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13552155.html
Copyright © 2011-2022 走看看