1.注释
2.变量
3.输出
print(‘直接要输出的内容(其中需要赋值的内容用格式符%s、%d…表示)’% 变量名)
print(‘直接要输出的内容%s %d’ % (变量名1,变量名2))
print(f ‘直接要输出的内容{变量名1}{变量名2}’)
print(‘内容’,end=’ \n-表示换行,也可以更改结束符 ’ )
4.输入
password=input(‘请输入密码’);
5.数据类型转换
6.条件语句
7.循环(while和for)
while:
for:
这个序列是字符串序列 str=“qwer”,那么就是从q到r依次
8.字符串
(1)str=‘abcd’
str=“abcd”
str=’ ’ ‘abcd’ ’ ’
str=" " “abcd” " "
注:三引号的字符串支持换行,即
str=" " “ab
cd” " "
(2)下标:从0开始,从后往前的话从-1开始(-1表示最后一个)
(3)切片
序列名[上标:下标:步长]
切割出从上标开始,到下标前一个位置结束(不包括下标所在的位置),按一定步长的字符串
例:str=“abcd”
str[1:3]-bc str[ : :2]-ac str[-3:-1]-bc str[ : :-1]=dcba
(4)常用的操作方式
- str.find(‘子串’,上标位置,下标位置)–返回该子串开始的位置,否则返回-1
- str.index–和find一样,不同是否则报错
- str.count(‘子串’,上标位置,下标位置)–返回该子串在str中出现的次数
- str.replace(‘旧子串’,‘新子串’,替换次数)–将旧子串替换成新的
- str.split(‘子串’,num)–分割str,分割后子串丢失了,只分割前num个,也就是最后是num+1个串
- list=[‘str1’,‘str2’,‘str3’] 子串.join(list)–表示将list中的串使用子串合并起来(比如子串是–,则str1–str2–str3)
- capitalize():将字符串串第⼀一个字符转换成⼤大写
- title():将字符串串每个单词⾸首字⺟母转换成⼤大写
- upper():将字符串串中⼩小写转⼤大写
- lower():将字符串串中⼤大写转⼩小写。
9.数列
(1)定义:
list=[数据1,数据2,数据3]
list数列里面的数据可以是不同的数据类型
下标从0开始
(2)查
- list.index(数据,开始位置,结束位置)–返回数据所在位置的下标
- list.count(数据)–返回该数据出现的次数 数据
- in list --数据在该数列中,返回true(in是关键字)
- 数据 not in list–数据不在该数列中,返回true
(3)增
- list.append(数据)–在列表的最后增加一个数据
- list.append(序列)–在列表的最后加一个序列 [数据1,数据2,数据3,[增数据4,增数据5] ] (别忘了新增序列用[]框起来)
- list.extend(数据)–如果数据是列表,将数据中的元素逐个逐个加到list中
【append是直接原封不动放上去,extend是一个一个加上去(字符串其实也是序列)】 - list.insert(数据,位置)–在该位置插入该数据(切记下标是从0开始)
(4)删
- del 目标 例:del list–全删了 del list[1]–删了下标1的元素
- del_name=list.pop(下标)–表示删除list中某下标的元素,并返回该元素,主:默认是删了最后一个
- list.remove(数据)–表示删除list中第一个=该数据的元素
- list.clear()–清空列表
(5)改
- list.reverse()–翻转
- list.sort(key= ,reverse= )reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)
- list2=list.copy()–list2就和list一样
(6)列表嵌套
10、元组
元组的特点是元组内的数据是不能改变的
11、字典
(1)定义
dict={key1:value1,key2:value2}
(2)增/改
dict[key]=value;
如果key存在则修改这个key对应的值;如果key不不存在则新增此键值对。
(3)删
删除某一个键值对:del dict[key];
清空字典:dict.clear();
(4)查
dict.get(key,i)
如果查找的key存在,则返回该key对应的value
如果查找的key不存在,如果写了i,则返回i,如果没写,则返回none
(5)
dict.keys()–返回由所有key组成的列表
dict.values()–返回由所有value组成的列表
dict.items()–返回由所有键值对组成的列表
12、集合
创建空集合只能 s1=set(),因为si={}表示空字典
13、公共的操作(字符串、列表、元组)
以字符串为例 str1=“ab” str2=“cd”
-
str3=str1+str2; --str3是“abcd”
-
str3=str1*4; --str3是“abababab”
-
a in str1; --该判断是true
-
len(str1); --应该=2
-
del str1; del str1[0]; --表示删除
-
range(开始,结束,步长)–注意结束位置不算入
-
enumerate(待遍历的对象,start)
start表示的是遍历时下标的起始值(遍历一定是从待遍历对象的第一个元素开始,只不过下标的初始值由start决定,如果没写,默认为0)
遍历输出的是(下标,value)的数值对
-
容器类型转换
注意集合可以去重
14.推导式
创建一个0-10的偶数数列
list=[i for i in range(0,10,2];
list=[i for i in range(10) if i%2==0]
list=[(i,j) for i in range(1,3) for j in range(3)]
dist={dist1[i]:dist2[i] for i in range(len(list1))}
dist={key:value for key,value in counts.items() if value>=200}
15.函数
(1)定义函数
def 函数名(参数)
代码
(2)说明文档
def 函数名(参数)
“”“说明文档”""
代码
使用help(函数名)看说明文档
(3)局部变量与全局变量
在函数testB中修改变量a的值,实质是新建了一个局部变量进行修改,并没有改变原全局变量a的值
想要修改a,方法:
(4)返回
(5)缺省参数
如果不传递gender,那么就使用默认值男,传递,就使用新的传递的值
(6)不定长参数
如果不确定要传递多少个参数,可以使用两种方法:包裹位置传递和包裹关键字传递
【1】包裹位置传递
【2】包裹关键字传递
(7)拆包和交换变量
- 拆包元组
def fun()
return 1,2;
n1,n2=fun();–表示n1=1,n2=2 - 拆包字典
dict={‘name’:‘wen’,‘age’:11}
n1,n2=dict;–表示n1是name,n2是age
v1=dict[n1]; v2=dict[n2]; --表示v1是wen,v2是11
(8)交换变量的方法:
(9)引用
- 在python中,值是靠引⽤用来传递来的。
我们可以⽤用 id()来判断两个变量量是否为同⼀一个值的引⽤用。 我们可以将id值理理解为那块内存的地址标识 - 举例:int类型的变量
a=1; b=a; 此时id(a)==id(b)【因为这里b=a只是变量值相等】
当重新赋值 a=2; 此时id(a)是新的值,id(b)还是原来的值 - 举例:元组类型的变量(元组名本身就是指针)
a=[1,2,3]; b=a; 此时id(a)==id(b)【这里b=a是指针相等】
当a.append(4)后,此时a和b都变成了[1,2,3,4],并且 id(a)依旧=id(b)
(10)高阶函数
把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式
实质是求 abs(a)+abs(b)
(11)内置的高阶函数
-
map(fun,list):传⼊入的函数变量func作用到lst变量的每个元素中
最后用list(result)将返回值转换成列表类型 -
reduce(func,lst),其中func必须有两个参数。每次func计算的结果继续和序列的下⼀一个元素做累积计算。
首先1+2,结果3再和list的下一个元素3继续传入fun -
filter(func, lst)函数用于过滤序列, 过滤掉不符合条件的元素, 返回⼀一个 filter 对象。如果要转换为列表,可以使用 list() 来转换。
所以fun必须是一个能做判断的元素
(12)lambda表达式
- 应用场景
如果一个函数有一个返回值,并且只有一句代码,可以使⽤用 lambda简化。
形式:函数名=lambda 参数列表:表达式
注意:
lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用。
lambda表达式能接收任何数量的参数但只能返回一个表达式的值
16、文件操作
文件操作的作用就是把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。