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

切片的时候比如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代替
- 列表:
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()
排序 - 元组:(原则上是不可变的,但是当其中有列表的时候就可变)
-
字典:

不允许同一个键值出现两次如: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()#清空字典
得到的结果是:
{} - 集合:(集合创建有点特殊)
集合的函数方法有点特殊,因为它可以看成数学上的集合:
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'}
- 文件:
f=open("a.txt","w")
f.write("nihaoa")
f=open("a.txt","r")
print(f.read())
得到的结果是:
nihaoaf=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:


浙公网安备 33010602011771号