首页 > 编程语言 > 详细

python基础-1

时间:2019-07-09 16:12:45      阅读:101      评论:0      收藏:0      [点我收藏+]

1.语言分类基础

  解释型(兼容性较好速度偏慢--接口,脚本)

  编译型(编译后的机器码执行速度快--数据库,系统)

  静态语言:变量定义需要声明类型(C ,C++ ,JAVA)

  动态语言:变量第一次定义内部记录类型(python ,ruby)

  强类型定义语言:严谨,不经过强制转换 ,变量不会变换数据类型

  弱类型定义语言:方便易出错,如shell的字符串可以当数字处理

 

2.python的优缺

  简单,开发效率高,可移植,可扩展

  速度慢,不加密,多线程无法利用多核优势(GIL锁.CPython导致)

 

3.python的注释

  #单行    """多行"""

 

4.字符编码 ,二级制排列组合 ,转为可读字符(json序列化--->encode编码传输          decode解码--->json反序列化)

  ASCII码  美国编码  

  GB2312  中国编码  

  GBK     中国编码    

  Unicode  万国编码 存储时消耗空间 py3内存中全部是unicode编码,需要转码传输 (文件中读取,在内存会被转为unicode)

  UTF-8   可变长万国码 en:1bit    cn:3bit  用于传输存储

  变量.encode(‘编码格式‘)   变量.decode(‘解码格式‘)

 

5.python基础命令

  print()

  hostname = input(‘主机名:‘)           #交互定义变量

  print(type(hostname))             #打印变量数据类型

  hostname = ‘{}-{}‘.format(‘master‘,1)        #用于格式化 ,用于拼接

 

6.python的运算符

  算数运算: + - * / % ** //             #加减乘除取余次方取整

  赋值运算: +=  -=  *=  /=  %=  **=  //=       # a += b    =>   a = a + b 

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

  成员运算: 

    a = 10; b = ‘quguanwen‘; c = (1, 2,); d = [a, b, c]; print(‘quguanwen‘ in d)      #判断‘quguanwen’是否是列表成员  

    a = ‘name‘;b = {‘name‘: ‘quguanwen‘, ‘age‘: 3};print(a in b)             #判断‘name’是否是字典的key ,仅用字典的key

  逻辑运算: and   or  not            #与或非 ,优先级: () > not > and > or

    x or y 如果x为真返回x ,否则返回y简单 (x为真返回x ,其他返回y) 

    x and y 如果x为真返回y ,否则返回x简单 (x为真返回y,其他返回x)

    逻辑运算两边混合(混合就简单该显示数字显示数字,该显示bool显示bool ,最后进行逻辑运算)

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

 

7.python循环体 

  range(100, 0, -2)             #反向取值 ,需要步长为负号 (顾头不顾腚)

  range(0, 100,  2)             #正向取值 ,步长为正(顾头不顾腚)

  continue , break              #终端本次循环 ,退出当前循环体  

 

8.python的基础数据类型(索引0起步)

  len(变量)                  #查看长度 ,int除外

  id(变量)                  #查看对象内存地址唯一

  isinstance(变量 ,数据类型1)          #判断变量是否为数据类型1 ,返回bool值

 

  str字符串(不可变数据类型,可哈希,可迭代,对字符串的操作都需要返回新的字符串改变)

    .upper()                #将字符串字母全部大写

    .lower()                #将字符串字母全部小写

    .split()                 #从左以空格为分隔符切割成为列表

    .rsplit(‘&‘ ,N)              #从右以‘&‘为分隔符切割成为列表 ,切N次

    .replace(‘old‘,‘new‘ ,N)          #替换字符串内容 ,从左开始替换N个

    .strip(‘k8s‘)               #去除字符串前后两端的 :k 8 s 三个字符任意组合,遇到出三个字符外一端停止  (a = ‘k8s&dockser&paa8s‘;print(a.strip(‘k8s‘)))

    .endswith(‘字符串‘) .startswith(‘字符串‘)     #判断字符串是否以一个字符串开头 或 结尾 (a = ‘k8s&dockser&paa8s‘;print(a.endswith(‘8s‘)))

    .count(‘PK‘)               #查看字符串‘PK‘字符串的数量 

    str[索引:长度]              #切片起始位置是索引 ,切固定长度

    对字符串每个字符迭代操作

      a = ‘YUIO‘
      b = []
      for i in range(len(a)):
       b.append(a[i])
      print(b)

  list列表(有索引,有序,可变,可嵌套,可迭代)

    增

      .append(值)          #末尾追加元素

      .insert(索引:值)          #指定索引增加元素

      .extend(可迭代对象)      #常用于列表的拼接 ,是要是可迭代对象都可以把最小元素 ,介入列表

    删

      .pop(索引)          #删除列表指定索引数据

      del 列表[0:2]          #切片删除

    改

      列表[索引] = 值        #按索引改变值

    查

      for循环

      .sort(reverse=True)             #列表存int可以使用sort排序 ,reverse翻转排序  

 

  tuple元祖(不可变,可迭代,如果近一个元素要加逗号)

    拼接元组

      a = (1, 2, 3,);b = (‘b‘, ‘1‘, ‘10‘);a = a+b;print(a)

      

  dict字典(存储关系型数据很爽 ,key唯一仅为不可变数据类型str,int等 ,value可以是任意类型数据)

    增

      dict1[‘key‘] = value                     #新增或覆盖

      dict1.setdefault(‘name‘ ,‘quguanwen‘)        #新增或不该变原值

    删

      dict1.pop(‘key‘)                #可删除指定key ,并返回value

      del dict1[‘key‘]                #删除指定key

    改

      dict1[‘key‘] = value                     #新增或覆盖

      dict2.update(dic1)                #dict2字典内容根据dic1改变 ,该修改的修改,该新增新增 ,但不会删除dict2字典内容

    查

      dict1.get(‘key‘)                #相较于dict1[‘key‘]不会报错

      dict1.items()                 #将字典的所有kv以元祖的方式放入列表中 ,可以循环取值 ,解构分别赋值

      dict1.values()                  #将字典的所有值放入列表

      dict1.keys()                   #将字典的所有key放入列表

  

  set集合(存储不可变数据类型 , 无序不重复)

    set去重     

      o = [1, 2, 3, 1, 21, 2, 1, 3, 4, 1, 2]
      s1 = set(o)

    set交集 

       set3 = set1  &  set2            #取交集

    set差集

       set3 = set1  -  set2            #取出set1多与set2的元素

 

9.深浅拷贝

import copy

l1 = [1, 2, 3, [11, 22, 33]]
l2 = l1.copy()                      # 浅拷贝 ,第一层拷贝一人一份 ,第二层还是共用
l3 = l1                               # 赋值 ,完全指向二者指向同一内存地址
l4 = copy.deepcopy(l1)            # 深拷贝 ,完全独立一份
l1[0] = 0
print(l1, id(l1))
print(l2, id(l2))
print(l3, id(l3))
print(l4, id(l4))                 

 

 

 

python基础-1

原文:https://www.cnblogs.com/quguanwen/p/11158000.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!