python基础知识整理

Posted 屌丝程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础知识整理相关的知识,希望对你有一定的参考价值。

1 逻辑运算 and,or, not 

  (1)在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优
先级从左往右计算。

  (2)计算下面例题的运算结果

1 3>4 or 4<3 and 1==1  #False
2 1 < 2 and 3 < 4 or 1>2  #True
3 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1# True
4 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8  #False
5 1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 #False
6 not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6  #False

    总结: x or y , x为真,值就是x,x为假,值是y;x and y, x为真,值是y,x为假,值是x。

      or找真,and找假

2 python基础数据类型

  (1)str

    ~~切片语法:str[start:end:step]   start: 起始位置,end: 结束位置,step:步长

    ~~切片规则:顾头不顾尾

    ~~str 字符串操作:

            

1 ret6 = s13.find("tory") # 查找‘tory‘的位置, 如果没有返回-1
2 print(ret6)
3 ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错

 

  

# 条件判断
s14 = "123.16"
s15 = "abc"
s16 = "[email protected]"
# 是否由字母和数字组成
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
# 是否由字母组成
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
# 是否由数字组成, 不包括小数点
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric()) # 这个比较牛B. 中文都识别.
print(s15.isdigit())
print(s16.isdigit())

  (2)列表 list

     

# 迭代添加
lst = ["王志文", "张一山", "苦海无涯"]
lst.extend(["麻花藤", "麻花不疼"])
print(lst) #[‘王志文‘, ‘张一山‘, ‘苦海无涯‘, ‘麻花藤‘, ‘麻花不疼‘]
# 切片修改
lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个数 print(lst)
#排序
lst = [1, 11, 22, 2]
lst.sort() # 排序. 默认升序
print(lst)
lst.sort(reverse=True) # 降序
print(lst)
#反转
lst = ["太白", "太黑", "五色", "银王", "日天", "太白"]
print(lst)
lst.reverse()
print(lst)

l = len(lst) # 列表的长度
print(l)

  注意,嵌套的多层列表采用降维操作.一层一层的看就好.

  (3)元组 tuple

    元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型
  的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素

  内部的子元素是可以变, 这取决于子元素是否是可变对象

tu = (1, "哈哈", [], "呵呵")
# tu[2] = ["fdsaf"] # 这么改不行
tu[2].append("麻花藤") # 可以改了. 没报错
tu[2].append("王剑林")
print(tu)

    注意,元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组.

  (4)字典 dict

    字典中的key必须是可哈希的不可变的数据,dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. 而hash表不是连续的. 所以不能进行切片工作.

它只能通过key来获取dict中的数据,

    

#字典的修改
dic = {"id": 123, "name": sylar, "age": 18}
dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增.
print(dic)
print(dic1

    

#利用items()解构
print(dic.items()) # dict_items([(‘id‘, 123), (‘name‘, ‘sylar‘), (‘age‘, 18), (‘ok‘, ‘科比‘)]) 这个东西也是list. 只不过list中装的是tuple
for key, value in dic.items(): # ?? 这个是解构
print(key, value)
# 解构
a, b = 1, 2
print(a, b)

    嵌套的字典也采用降维操作.

3 小数据池

    小数据池(常量池): 把我们使用过的值存储在小数据池中.供其他的变量使用.
  小数据池给数字和字符串使用, 其他数据类型不存在.
    对于数字: -5~256是会被加到?小数据池中的. 每次使?用都是同?一个对象.
    对于字符串串:
      1. 如果是纯文字信息和下划线. 那么这个对象会被添加到小数据池
      2. 如果是带有特殊字符的. 那么不会被添加到小数据池. 每次都是新的
      3. 如果是单?一字母*n的情况. ‘a‘*20, 在20个单位内是可以的. 超过20个单位就不会添加
    到小数据池中
    注意(一般情况下): 在py文件中. 如果你只是单纯的定义?个字符串串. 那么一般情况下都是会
  被添加到小数据池中的. 我们可以这样认为: 在使用字符串的时候, python会帮我们把字符串进行缓存
    , 在下次使?的时候直接指向这个字符串即可. 可以节省很多内存.

 

 

 

  

 















以上是关于python基础知识整理的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 代码片段整理

JSP页面开发知识点整理

小程序各种功能代码片段整理---持续更新

python入门基础知识点整理-20171214

Python基础班每日整理

PHP项目开发经验整理