python基础 1 2 3 4 5 6 7 8 x=input() y=input() print(x+y) #输入:5 4 输出:54("+"对于字符串进行拼接) name=input("请输入姓名:")#input()中添加文本对所要输入的信息进行提示 print(name)
2.列表(list) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 List=['A','B','C'] print(List) print(len(List))#获取列表的长度 print(List[-1])#获取列表表尾的元素 print(List[-2])#获取列表倒数第二个元素 #列表的插入 List.append('D')#列表尾部插入 List.insert(2,'F')#列表指定位置插入 List.pop()#列表尾部元素删除 List.pop(2)#删除列表指定索引处的元素 print(List) List.remove('A')#一次remove()只删除一个,若有多个,要多次使用remove()函数 print(List)
3.元组(tuple) tuple一旦初始化就不能修改
1 2 3 4 5 tuple=(2,3,4)#定义元组并初始化 print(tuple) tuple2=(2,)#定义单元组 tuple3=(2)#由于出现歧义,tuple3为2这个数 print(tuple2,tuple3)
4.for ….in….循环:可以用于遍历元组或列表 1 2 3 4 5 6 7 8 9 List=['A','B','C'] for i in List:#遍历列表 print(i) print(list(range(5)))#range(5)生成一个从0开始小于5的整数序列 #list()将这个整数序列转换成列表 sum=0 for i in range(101):#计算从0加到100的值 sum+=i print(sum)
5.字典(dict) 使用键-值(key-value)存储,具有极快的查找速度
字典的创建 1 2 3 4 5 6 Dict={'A':1,'B':2,'C':3}#创建字典 Dict['A']=4#修改key对应的值 print('D' in Dict)#判断字典key是否存在 Dict.pop('A')#按key删除 或可用:del Dict['A'] print(Dict)#注:字典中的key是不可变的对象 Dict['D']=4#向字典中添加键值对
字典的遍历 1 2 3 4 5 6 7 8 9 10 for key,val in Dict.items():#以键值对的形式遍历字典 print(key,val) for key in Dict.keys():#遍历字典的键,其中.keys()可省略 print(key) for val in Dict.values():#遍历字典中的值 print(val) for key in sorted(Dict.keys()):#在遍历前对字典的键的列表排序 print(key) for val in set(Dict.values()):#在遍历前对字典的值的列表去重 print(val)
dictionary.get(key, default)
dictionary
是要获取值的字典对象。
key
是要查找的键。
default
是一个可选参数,表示如果键在字典中不存在时,返回的默认值。如果不提供 default
参数,默认值为 None
。
1 2 3 4 5 6 7 8 9 10 11 12 13 fruits = {'apple': 3, 'banana': 2, 'orange': 5} # 获取键 'apple' 对应的值 print(fruits.get('apple')) # 输出: 3 # 获取键 'grape' 对应的值,由于 'grape' 不在字典中,返回默认值 0 print(fruits.get('grape', 0)) # 输出: 0 # 不提供默认值,'grape' 不在字典中,返回 None print(fruits.get('grape')) # 输出: None # 可以省略默认值参数,将返回 None print(fruits.get('kiwi')) # 输出: None
6.集合(set) 重复的元素在set中会被自动过滤
1 2 3 4 5 6 7 8 s=set([1,2,2,3,3])#创建一个set,使用list作为输入集合 print(s)#输出{1, 2, 3},相同的元素被过滤 s.add(4)#向集合中添加元素 s.remove(1) print(s)#输出{2,3,4} s2=set([1,2,3]) print(s&s2)#集合取交集 print(s|s2)#集合取并集
7.字符串(str) str是不可变对象
1 2 3 a='abc' print(a.replace('a','A'))#输出Abc print(a)#输出abc,不可变对象本身永远是不可变的
8.函数的默认参数 1 2 3 4 5 6 7 8 9 def enroll(name, gender, age=6, city='Beijing'):#把年龄和城市设为默认参数 print('name:', name) print('gender:', gender) print('age:', age) print('city:', city) #只有与默认参数不符的学生才需要提供额外的信息 enroll('Bob', 'M', 7) enroll('Adam', 'M', city='Tianjin')#不按顺序提供部分默认参数时,需要把参数名写上
9.函数的可变参数 可变参数就是函数传入的参数个数是可变的
注:可变参数通过创建一个元组将传入的参数封装到元组中,即使函数只收到一个值也是如此。
1 2 3 4 5 6 7 8 9 def calc(*numbers):#计算:a*a+b*b+c*c+…… sum = 0 for n in numbers:#numbers是元组 sum = sum + n * n return sum print(calc(1, 2)) nums = [1, 2, 3] print(calc(*nums))#在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去
10.函数upper()、title()、lower() upper():全字母大写
title():首字母大写
lower():全字母小写
注:以上方法是非永久性改变,不会改变变量的值
1 2 3 4 5 6 cars=['audi','bmw','subaru','toyota'] for car in cars: if car=='bmw': print(car.upper())#car为bmw时以大写输出 else: print(car.title())
11.函数的列表参数 列表作为参数传给函数,函数可以对列表做出永久性修改
1 2 3 4 5 6 7 8 def fun(List): i=0 for x in List: List[i]=x.lower() i+=1 List=['A','B','C'] fun(List) print(List)#输出['a', 'b', 'c']
传入列表的副本,原始列表不做修改
1 2 3 4 5 6 7 8 def fun(List): i=0 for x in List: List[i]=x.lower() i+=1 List=['A','B','C'] fun(List[:])#切片表示法创建副本 print(List)#输出['A', 'B', 'C']
12.列表生成式 1 2 3 4 5 6 7 8 print([x * x for x in range(1, 11) if x % 2 == 0]) #筛选出仅偶数的平方 print([m + n for m in 'ABC' for n in 'XYZ'])#使用两层循环,可以生成全排列 import os print([d for d in os.listdir('.')])#列出当前目录下的所有文件和目录名 print([x if x % 2 == 0 else -x for x in range(1, 5)])#生成表达式的if……else……,输出[-1, 2, -3, 4]
13.split()函数 split(): 通过指定分隔符对字符串进行切片,将字符串切片后的结果存放在列表中。
str.split(str=””, num=string.count(str))
str — 分隔符,默认为空白格。
num — 分割次数。
1 2 3 4 5 6 7 8 9 10 11 12 str = "Line1-abcdef,\nLine2-abc,\nLine4-abcd" str.split(',') out: ['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd'] str = "Line1-abcdef \nLine2-abc \nLine4-abcd" str.split( ) str.split(' ', 1 )#分割次数为1次 out: ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']#以空白格分割,自动去除回车 ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
rstrip(): 删除字符串末尾的指定字符,默认为空白符
1 2 3 4 5 6 7 #分割字符串列表 str=['1,a\n','2,b\n','3,c\n'] tokens=[l.rstrip().split(',') for l in str] tokens out: [['1', 'a'], ['2', 'b'], ['3', 'c']]
14.文件操作函数 os.makedirs(): 这是一个用于递归创建目录的函数。它接受一个路径作为输入,并创建路径中所有缺失的目录
exist_ok=True: 这是os.makedirs()函数的一个可选参数。当设置为True时,如果目标目录已经存在,函数不会引发错误,而是默默地继续执行。
1 os.makedirs(os.path.join('..', 'data'), exist_ok=True)#创建一个名为"data"的目录,该目录位于当前工作目录的父目录中
shutil.copy(): 用于将源文件的内容复制到目标文件或目录
1 shutil.copy(filename, target_dir)#将filename文件复制到target_dir目录中。