python基础

  1. python的逻辑判断语句是or,and,not。
  2. python和c++思想上唯一的区别就是,它分为可变和不可变对象(python没有数据类型的概念)
    其中可变的是列表,字典,集合都是可变的(也就是调用方法之后可以直接在原来的列表上改变值)
    其中不可变的是字符串,元组,(int和float)等(也就是调用方法之后不能直接改变它的值,需要找个新的对象承接结果)
  3. None是假的值,[],{},()都是假的值。
  4. 条件判断:

     

     

    三元表达式:
    result = 为真时的结果 if 判断条件 else 为假时的结果。
  5. 字符串:


     切片的时候比如s[a:b:c],a和b的位置谁前谁后都是随意的,跟c的正负有关,c可以是正的可以是负的。
    s="ilovepython"
    print(s.startwith("ilo"))#判断一下字符串是不是以ilo开头
    print(s.endswith("on"))#判断一下字符串是不是以on结尾
    结果是:
    True
    True
    s.count("o")#计数一下s内部有多少“o”
    结果是2
    s.find("yt")#成功返回索引值,失败返回-1
    结果是:6
    s.index("yt");#成功返回索引值,失败则报错
    结果是:6
    s1=" this is a new string"


    s1.strip()#去掉s1字符串前面的空格和尾部的空格
    结果是:
    this is a new string#前后的空格都去掉了
    s1.replace(" ","*")#将s1中的空格都用
    结果是:
    this*is*a*new*string
    s1.split()#按照空格来划分s1,
    结果是:
    ["this","is","a","new","string"]

    " ".join(["this","is","a","new","string"])#使用空格拼接列表的元素
    得到的结果是:
    "this is a new string"


     占位符:

     

    还有一种比较常用的用法f字符串: 

    name="zhang"
    print(f"my name is {name}")#这里的name会被上面的zhang代替

     

  6. 列表:

     

     

    fruits=["apple","banana","orange"]
    #因为列表是一个可变的对象,那么调用方法之后就可以直接在原来的列表之上#直接改变列表,因此返回不是列表本身
    #print(ftuits.append("mongo"))
    fruits.append("mongo") print(fruits)
    得到的结果是:
    ["apple","banana","orange","mongo"]
    fruits.extend(["mongo","pear","strawberry"])#扩展原来的列表,或者直接用加号
    print(fruits)
    得到的结果是:
    ["apple","banana","orange","mongo","pear","strawberry"]
    fruits.insert(2,"chen")#在索引为2的元素前面插入"chen"
    print(fruits)
    得到的结果是:
    ["apple","banana","orange","chen"]

    fruits.pop()#剔除最后一个元素并返回该元素
    d=fruits.pop()
    print(d)#得到的是返回的最后一个元素
    print(fruits)
    得到的结果是:
    orange
    ["apple","banana","orange","chen"]

    d=fruits.pop(0)#pop出索引是0的元素
    print(d)
    print(fruits)
    得到的结果是:
    apple
    ['apple', 'orange']

    fruits.sort()
    排序
  7. 元组:(原则上是不可变的,但是当其中有列表的时候就可变)

     

  8. 字典:



    不允许同一个键值出现两次如:a={"a":1,"a":2}
     键值必须不可变,也就是只能是数字,字符串和元组

    a={"a":10,"c":23}
    #要是用a["b"]会报错
    a.get("b",1)#收缩键值“b”,要是没有的话返回1,要是有的话返回value的值
    得到的结果是:
    1
    
    print(a.keys())#返回key的列表
    print(a.values())#返回vlaue的列表
    print(a.items())#返回该字典变化成列表内加元组的形式,即得到key,value
    得到的结果是:
    ["a","c"]
    [10,23]
    [("a",10),("c",23)]
    
    print(a.pop())#弹出最后一个元素
    print(a.pop("a"))

    b={"6":56}
    print(a.update(b))
    得到的结果是:
    {'a': 10, 'c': 23, '6': 56}

    a.clear()#清空字典
    得到的结果是:
    {}

  9. 集合:(集合创建有点特殊)

     



    集合的函数方法有点特殊,因为它可以看成数学上的集合:
    s1=set(range(1,5))
    s2=set(range(3,7))
    
    #四种运算分别是交集,并集,差集,对称差(异或)
    print(s1 & s2)
    print(s1 | s2)
    print(s1-s2)
    print(s1^s2)#对称差指的是去掉两者公共的部分剩下的元素
    得到的结果是:
    {3, 4}
    {1, 2, 3, 4, 5, 6}
    {1, 2}
    {1, 2, 5, 6}

     注意一下set的update函数:

    a=set(("a","b","c"))
    print(a)
    a.update("jkdala")#默认把字符串的每一个字符加进集合,要达到加一个整体的效果要用a.update({"jkdala"})
    print(a)
    a.update({"jkdala"})
    print(a)
    得到的结果是:
    {'b', 'c', 'a'}
    {'b', 'c', 'd', 'l', 'k', 'j', 'a'}
    {'j', 'k', 'l', 'c', 'd', 'b', 'jkdala', 'a'}
  10. 文件:

     

     

    f=open("a.txt","w")
    f.write("nihaoa")
    f=open("a.txt","r")
    print(f.read())
    得到的结果是:
    nihaoa

    f=open("a.txt","w")
    f.write("nihaoa")
    with open("a.txt") as f:
        for line in f:
       print(i)
    得到的结果是:
    nihaoa

     

    csv文件的处理:

     

     对一个csv文件进行读写操作:

    import csv
    row=["jk",18,"nv"]
    with open("a.csv",newline="",mode="a") as out:
        csv_writer = csv.writer(out)#从out产生对象
        csv_writer.writerow(row)
    
    with open("a.csv",newline="",mode="r") as inu:
        csv_readr = csv.reader(inu)
       # headr=next(csv_readr)
       # print(headr)
        for row in csv_readr:
            print(row)

     



    要带上字段名的操作:

     

     
    对一个json文件的处理:
    json的四个函数方法:dumps,loads,dump,load

     

     json的对应python:

     

     

















 

posted @ 2022-09-26 17:17  铜锣湾陈昊男  阅读(11)  评论(0)    收藏  举报