zoukankan      html  css  js  c++  java
  • Python基础部分整理

    一、Python介绍
      python创始人为:吉多·范罗苏姆(龟叔)。
      1989年开发python
      龟叔: 2005——2012年就职谷歌
      2013——至今就职Dropbox
      python崇尚优美、清晰、简单
    语言分为编译型语言和解释型语言
      编译:把程序全部编译成二进制之后进行运行,速度快
      解释:在执行程序时,一条一条解释成二进制,速度慢

      python是解释型动态强类型定义语言

      python优点:优雅 明确 简单
      开发效率高
      高级语言 可移植性 可扩展性 可嵌入性

      python缺点:速度慢 代码不能加密 线程不能利用多CPU

    二、基本编码:
      ascii 65——90是A-Z
      97——122是a-z
      256
      8bit代表1字节一个字符
      unicode 16bit代表2字节一个字符 32bit代表品4字节一个字符
      utf-8 英文8bit一个字节一个字符
      欧洲 16bit两个字节一个字符
      亚洲 24bit三个字节一个字符
      gbk 英文 8bit一字节一字符
      中文 16bit两字节一字符

      8bit 1bytes
      1024bytes 1kb
      1024kb 1mb
      1024mb 1gb
      1024gb 1tb

    三、python必会知识:
    python2中文件开头要写如下抬头,告知用utf-8编码格式进行操作

      -*- coding: utf-8 -*-

    变量的定义方法:字母数字下划线的任意组合,不能以数字开头,
      具有可描述性,不能是python中的关键字
      不能是中文,不能是拼音,不能太长
    常量的定义方法:全大写,python中没有常量

    交互:
      input接收的全是str
      name = input('请输入姓名:')
      print(name)

    int型
      32位机器: -2**31 - 2**31-1 -2147483648~2147483647
      64位机器: -2**63 - 2**63-1 -9223372036854775808~9223372036854775807

    long型
      python3中不再有long型,只有int


    str
      单引号 双引号 三引号都行 除了

      msg = '''
      123
      456
      789
      '''
      print(msg)

    字符串只能进行相乘相加运算
      a = '1'
      print(a*3)
      print(a+a)

    布尔值
      print(3>5)
      print(5<6)

    格式化输出
      %s %d


    算术运算:
      + - * / % **
      //返回商的整数部分


    比较运算:
      == != <> > < >= <=

    赋值运算
      = += -= *= /= %= **= //=

    逻辑运算
      and or not
    例子:
      a = 4
      b = 5
      print(a and b)
      print(a or b)

      ()>not>and>or

      print(3>4 or 4<3 and 1==1)
      print(1 < 2 and 3 < 4 or 1>2 )
      print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
      print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
      print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
      print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)

      print(8 or 4)
      print(0 and 3)
      print(0 or 4 and 3 or 7 or 9 and 6)
    诀窍:
      x or y , x为真,值就是x,x为假,值是y;
      x and y, x为真,值是y,x为假,值是x。

    条件语句
      if
      if else
      if elif
      if elif else

      while True or False
    条件终止语句:
      break 结束循环 执行循环体后面的语句
      continue 结束本次循环,继续执行下次循环

      while else 中途被break打断不执行else 否则执行else



    四、基本数据类型:
      数字 字符串 列表 元组 字典 集合

    字符串操作方法
      capitalize 首字母大写
      center 居中
      upper 全大写
      lower 全小写
      swapcase 大小写反转
      title() 非字母隔开的每个单词首字母大写
      startswith 判断以什么开头
      endswith 判断以什么结尾
      index 通过元素找索引 返回报错
      find 通过元素找索引 返回-1
      strip 去除前后端的空格换行制表符
      split 以什么分割 默认空格分割
      join
    列表转字符串 list -----> str     使用方式:'分隔符'.join(list)
      replace 替代   replace('old','new')
      len计算字符串长度
      count计算字符串中某个字符出现的次数count('xxx')
    格式化输出(三种方式)(例子):
      msg = '我叫{},今年{},爱好{}'.format('123', '456', '789')
      msg2 = '我叫{0},今年{1},爱好{2},姓名{0}'.format('123', '456', '789')
      msg3 = '我叫{name},今年{age},爱好{hobby}'.format(name='123', age='456', hobby='789')
      str.isalnum() 字符串由字母数字组成
      str.isalpha() 字符串由字母组成
      str.isdigit() 字符串由数字组成



    元组
      只读列表 只能查询不能修改



    列表list操作方法

    insert('索引','增加元素')
    append(元素) 最后增
    extend(元素) 迭代增加

    pop(索引) 按照位置删除
    del list[:] 按照位置删除 可切片删除
    remove(元素) 按照元素删除
    clear() 清空列表

    list[索引] 索引改
    list[:] 切片改 迭代改

    list[:]切片查
      for循环查

    list其他操作:
      len个数
      count('元素') 计算元素在列表中出现个数
      index(元素) 计算元素第一个出现在列表的索引位置
      sort从小到大
      sort(reverse = True)从大到小
      reverse 列表反向存放




    dict字典操作方法
      字典的key 可哈希不可变 比如:数字 字符串 元组

    setdefault 有键无值值为none 存在键值对不会更改和覆盖

    del 删除
    del dict[键] 根据键删除键值对
    pop(key)
    popitem() 随机删除 py3中默认删掉最后一个 返回值为元组
    clear 清空字典

    update 两个字典更新 有则覆盖无则添加

    dict[键] 根据键查
    get(键,'默认返回值可改')

    其他操作
      dic = {1:'2',2:'3'}
      item = dic.items()
      print(item,type(item))

      keys = dic.keys()
      print(keys,type(keys))

      values = dic.values()
      print(values,type(values))

    字典循环
    for key in dic:
    print(key)

    for item in dic.items():
    print(item)

    for k,v in dic.items():
    print(k,v)


    for循环
    用户按照顺序循环可迭代对象(list、字典等都是可迭代对象)的内容

    enumerate枚举
    li = ['Neal','Jack','Alex',]
    for i in enumerate(li):
    print(i)

    for index,name in enumerate(li,1):
    print(index,name)

    range 指定范围,生成指定数字
    range(int可以增加步长)


    集合
    无序不重发,元素可哈希(不可变),集合本身不可哈希(可变)
    特点:去重 关系测试
      去重例子: l = [1,1,2,2,3,3]
            print(set(l))
            最终结果为:[1,2,3]



    .add 普通增加
    update 迭代着增加

    remove(元素) 删除一个元素
    pop 随机删除
    clear 清空集合
    del 删除

    其他操作
    & intersection 交集
    | union 并集
    - difference 差集
    ^ symmetric_difference 反交集
    < issubset 子集
    > issuperset 超集
    frozenset 冻结 把集合变为不可变类型


    深浅copy
    浅copy:第一层变,第二层级更内层指向同一内存地址,变就变 切片是浅copy
    deepcopy深copy:全部指向不同的内存地址,互相独立




    五、python文件操作
    第一种方式(必须要关闭文件f.close)
      f = open('文件路径',encoding='utf-8',mode='模式,默认读(r)模式')
      f.read() 通过文件句柄操作文件
      f.close 关闭文件
    第二种方式(无需太过关注是否要关闭文件)
      with open('文件路径',encoding='utf-8',mode='模式,默认读(r)模式') as f:
      f.read() 通过文件句柄操作文件

    文件编码
    文件打开方式的编码格式如果不指定,
    默认是用当前操作系统环境下的编码方式去打开文件
      windows------gbk
      linux-------utf-8

    文件打开模式
      r 只读模式
      w 只写模式
      a 追加写模式

    rb、wb、ab b模式是字节操作方式

      r+ 读写
      w+ 写读
      a+ 写读

      r+b 读写
      w+b 写读
      a+b 写读

    电脑文件内容的修改原理
      打开原文件
      创建新文件
      把原文件内容修改之后的内容写入新文件
      把原文件删除
      把新文件重命名为原文件的名字
  • 相关阅读:
    转-jsonp和jsonpcallback的使用
    转-jQuery jsonp跨域请求
    转-彻底弄懂JS的事件冒泡和事件捕获
    转-打造自己的js类库
    (转)JavaScript: 零基础轻松学闭包(1)
    Myslq 之主键
    Myslq 之空值与非空
    Myslq 之记录查找
    Myslq 之插入记录
    Myslq 之查看数据表
  • 原文地址:https://www.cnblogs.com/ngz311616/p/9157365.html
Copyright © 2011-2022 走看看