python基本语法教程(Python基础语法总结)python初学 / python基础语法详解...

wufei123 发布于 2024-02-20 阅读(73)

一、Python知识结构

二、Python数据类型(一)数据类型介绍1、布尔型:True、False(其中,True的实际值为1,False的实际值为0)a=Trueprint(a,type(a))print(m==1)print

(n==0)输出结果为:TrueTrueFalse2、数字类型:包含int整型、float浮点型、long长整型、complex复数x1=10x2=12.00print(type(

x1),type(x2))输出结果为: 3、字符串:#1、修改字符串:.replace(old,new,count)st1=It\s goodst2=st1

.replace(good,bad)print(st1)print(st2)st3=hahahahast4=st3.replace(ha,he,2)print(st4)输出结果为:Its goodIts bad

hehehaha#2、拆分字符串,生成列表,相当于excel中的分列:.split(obj)st=id001,123.987,6789.98lst=st.split(,)print(lst)输出结果为:

[id001,123.987,6789.98]#3、连接字符串,对象为序列:str.join()lst=[id001,123.987,6789.98]m=_st=m.join(lst)print(st)

输出结果为:id001_123.987_6789.98#4、str.startswith(str)判断是否以‘str’开头;str.endswith(str)判断是否以‘str’结尾st=abcdefg

print(st.startswith(a),st.endswith(f))输出结果为:TrueFalse#5、大小写:st=aBCDe fghijkLMn opqISt#5-1、全部大写:.upper()

print(st.upper())#5-2、全部小写:.lower()print(st.lower())#5-3、大小写互换:.swapase()print(st.swapcase())#5-4、首字母大写:.capitalize()

print(st.capitalize())输出结果为:ABCDEFGHIJKLMNOPQISTabcdefghijklmnopqistAbcdEFGHIJKlmNOPQisTAbcdefghijklmn

opqist#6、.isnumeric():如果string只包含数字则返回True否则返回Falsea=1234567print(a.isnumeric())#7、.isalpha():如果srting至少有一个字符并且所有字符都是字母,则返回True

b=123DMNprint(b.isalpha())#8、删除字符末尾的空格:.rstrip()c=avd print(c.rstrip())输出结果为:TrueFalseavd#9-1、格式化字符:在字符中插入变量 %

# %s,%i,%f表示格式化字符串,其中,s表示字符串,i表示整型,f表示浮点型x=4y=hehez=4.2print(this is %i%x)print(this is %s%y)print(this is

%f%z)print(小明的成绩为%i,小红的成绩为%i%(70,90))输出结果为:thisis4thisishehethisis4.200000小明的成绩为70,小红的成绩为90#9-2、其他格式化方法:.format()

print(user ID: {0}.format(root))print({} bc {}.format(a,d))print({}{}{}.format(a,b,c),\n,{0}{1}{2}{0}

.format(a,b,c))#注意:{}表示占位符,{}里可以有数字,也可以没有数字,{}有数字则代表索引,需要与format后的内容对应,若无对应,则会报错输出结果为:userID:rootabcd

abcabca#.format()可以用变量来指示print(我的工作是{work}.format(work=设计))输出结果为:我的工作是设计#.format()不会改变原值x=abc{}a=x.format

(def)print(a,x)输出结果为:abcdefabc{}4、容器:(1)列表的常见操作:添加、删除、插入、复制、排序、查询、修改#添加:.append/.extendlst=list(range

(5))print(lst)lst.append(a)print(lst)lst.extend([1,2,3])print(lst)输出结果为:[0,1,2,3,4][0,1,2,3,4,a][0,1,

2,3,4,a,1,2,3]#注意:append()只能添加一个元素;extend()添加列表#删除:del/.remove/.cleardellst[:2]print(lst)lst.remove(3

)print(lst)lst.clear()print(lst)输出结果为:[2,3,4,a,1,2,3][2,4,a,1,2,3][]#注意:remove()只能删除一个元素;del 可删除列表对应的索引

#插入:.insertlst.insert(0,apple)print(lst)lst.insert(1,1)print(lst)输出结果为:[apple][apple,1]#注意:.insert(i,m):在索引i处插入值m

#复制:.copylst1=list(range(8))print(lst1)lst2=lst1.copy()lst2[2]=helloprint(lst2)输出结果为:[0,1,2,3,4,5,6,7

][0,1,hello,3,4,5,6,7]#排序:.sort()lst3=[gbk,asc,num,upo]lst4=[12,98,67,2,12,5]#默认排序:数字升序、字母顺序lst3.sort

()lst4.sort()print(lst3)print(lst4)输出结果为:[asc,gbk,num,upo][2,5,12,12,67,98]#反向排序lst3.sort(reverse=True

)lst4.sort(reverse=True)print(lst3)print(lst4)输出结果为:[upo,num,gbk,asc][98,67,12,12,5,2]#排序并复制:sorted()

lst5=sorted(lst4)lst6=sorted(lst3)print(lst5)print(lst6)输出结果为:[2,5,12,12,67,98][asc,gbk,num,upo]#查询:直接使用下标索引访问列表中的值,索引从0开始

nameList=[张三,李四,王五]print(查询列表第一个元素:,nameList[0])输出结果为:查询列表第一个元素:张三#修改:直接指定下标索引值print(修改之前第1个元素是:,nameList

[0])nameList[0]=孙悟空print(修改之后第1个元素是:,nameList[0])输出结果为:修改之前第1个元素是:张三修改之后第1个元素是:孙悟空(2)元祖(tuple):是一个不可变列表

#特点:不可变性---不能删除或修改单个元素,但是可以整个元祖删除#有下列几种形式:tup1=(physics,chemistry,1997,2000)tup2=(1,2,3,4,5)tup3=a,c,

a,b#可不加括号tup4=(29,)#元祖中只有一个元素时,需要在元素后面加逗号#元祖长度print(元祖长度:,len(tup1))输出结果为:元祖长度:4#查询元祖的第一个元素print(元祖的第一个元素的值:

,tup1[0])输出结果为:元祖的第一个元素的值:physics(3)集合(Sets):是一个没有重复元素的容器#集合常见的几种操作:#定义集合:6家公司的股票gafataSets={腾讯,阿里巴巴,

苹果,谷歌,Facebook,亚马逊,亚马逊}print(gafataSets)输出结果:{苹果,亚马逊,阿里巴巴,腾讯,Facebook,谷歌}#1、容器操作:增加#第1步:定义一个空的集合stockSets

=set()#第2步:使用update()添加元素stockSets.update([腾讯,京东,阿里巴巴])print(stockSets)输出结果:{腾讯,阿里巴巴,京东}#2、容器操作:删除(.discard())

stockSets.discard(京东)print(stockSets)输出结果:{腾讯,阿里巴巴}#3、容器操作:查找(in)txBool=腾讯instockSetsprint(txBool)输出结果:

True#4、容器操作:修改#第1步:先删除stockSets.discard(腾讯)#第2步:再添加stockSets.update([百度])print(stockSets)输出结果:{阿里巴巴,百度

}(4)字典:存储映射关系的容器,每个映射关系用逗号分隔,字典中的映射关系用键(key)表示,值用value表示,字典中的键必须是唯一的,键是不可变的#字典的基本操作:创建、更新、修改、查询、删除#一、创建字典

#方法一:手动输入dic={a:1,b:2}print(dic)#方法二:用dict函数dic=dict(a=1,b=2,c=hello,d=[1,2,3])print(dic)#方法三:由序列生成字典,嵌套序列,可以是list或tuple

lst1=[(a,fff),(b,ggg)]lst2=[[c,1],[d,2]]lst3=((e,[1,2]),(f,[3,4]))dic1=dict(lst1)dic2=dict(lst2)dic3=

dict(lst3)print(dic1,dic2,dic3)#方法四:只有键,会生成一个空值字典keys=[a,b,c]dict1=dict.fromkeys(keys)dict2=dict.fromkeys

(keys,hello)print(dict1,dict2)输出结果为:{a:1,b:2}{a:1,b:2,c:hello,d:[1,2,3]}{a:fff,b:ggg}{c:1,d:2}{e:[1,2

],f:[3,4]}{a:None,b:None,c:None}{a:hello,b:hello,c:hello}#二、更新字典:.update():把第二个字典合并到第一个字典#情况1:dic1={a

:1,b:2}print(dic1)dic2={c:3,d:4}dic1.update(dic2)print(dic1)输出结果为:{a:1,b:2}{a:1,b:2,c:3,d:4}#情况2-1:与序列原理一样,a,b同时指向一个字典,一起更新

a={m:1,n:2,p:3}print(a)b=aa.update({m:3,q:4})print(b)print(a)输出结果为:{m:1,n:2,p:3}{m:3,n:2,p:3,q:4}{m:3

,n:2,p:3,q:4}#情况2-2:通过.copy复制一个新的字典,但更新时不会更新复制的字典a={m:1,n:2,p:3}b=a.copy()a.update({m:3,q:4})print(a,

b)输出结果为:{m:3,n:2,p:3,q:4}{m:1,n:2,p:3}#情况2-2-2:判断是否包含,这里的判断对象是key print(mina)print(cnotina)输出结果为:True

True#查看字典元素个数print(len(a))输出结果为:4#三、修改字典dic={var1:1,var2:hello,var3:[1,2,3],var4:{a:1,b:2}}dic[var5]=

appledic[var4]=任意修改其中一值print(dic)输出结果为:{var1:1,var2:hello,var3:[1,2,3],var4:任意修改其中一值,var5:apple}#四、查询字典

#4-1:对字典某一值的访问print(dic[var5])输出结果为:apple#4-2: .keys():输出字典所有key,输出内容格式是视图,可用list()得到key的列表print(dic.

keys(),type(dic.keys()))print(list(dic.keys()))输出结果为:dict_keys([var1,var2,var3,var4,var5])

>[var1,var2,var3,var4,var5]#4-3:.values():输出字典所有的valueprint(list(dic.values()))输出结果为:[1,hello,[1,2,3],

任意修改其中一值,apple]​#4-4: .items():输出字典所有元素print(list(dic.items()))输出结果为:[(var1,1),(var2,hello),(var3,[1,

2,3]),(var4,任意修改其中一值),(var5,apple)]#五、删除字典#情况4-1:删除字典中的任意元素deldic[var4]print(dic)输出结果为:{var1:1,var2:hello

,var3:[1,2,3],var5:apple}#情况4-2:删除字典所有条目dic.clear()print(dic)输出结果为:{}#情况4-3:删除字典deldic(二)运算符1、算术运算符a,

b=1,2#加法c=a+bprint(a加b的值为:,c)#减法c=a-bprint(a减b的值为:,c)#乘法c=a*bprint(a乘b的值为:,c)#除法c=a/bprint(a除b的值为:,c)

#幂计算a,b=3,4c=a**bprint(a的b次方的值为:,c)#取模,返回除法的余数a,b=10,3c=a%bprint(a取b的模为:,c)#取整,取整除后的数a,b=10,3c=a//bprint

(a除b的整除数为:,c)输出结果为:a加b的值为:3a减b的值为:-1a乘b的值为:2a除b的值为:0.5a的b次方的值为:81a取b的模为:1a除b的整除数为:32、比较运算符a,b=1988,1998

#等于print(a==b)#不等于print(a!=b)#大于print(a>b)#小于print(a=b)#小于等于print(a<=b)输出结果为:FalseTrue

FalseTrueFalseTrue3、逻辑运算符:and/or/not#and:且print(TrueandFalse)#or:或print(TrueorFalse)#not:非print(notTrue

)输出结果为:FalseTrueFalse4、成员运算符:in/not inlst=[1,2,3,4,5]a=1b=10print(ainlst)print(bnotinlst)输出结果为:TrueTrue

(三)数据类型的转换#1、转换整形int()va1=10.54print(va1,int(va1))输出结果为:10.5410#2、转换浮点型float()va2=10print(float(va2))

输出结果为:10.0#3、转换为字符串str()va3=str(va2)print(va3,type(va3))输出结果为:10#4、转换成列表list()va=list((val,

va2,va3))print(va)输出结果为:[10.54,10,10]#5、转换成元祖vab=tuple(va)print(vab)输出结果为:(10.54,10,10)#6、转字典dict()lst1

=[(a,fff),(b,ggg)]lst2=[[c,1],[d,2]]lst3=((e,[1,2]),(f,[3,4]))dic1=dict(lst1)dic2=dict(lst2)dic3=dict

(lst3)print(dic1)print(dic2)print(dic3)输出结果为:{a:fff,b:ggg}{c:1,d:2}{e:[1,2],f:[3,4]}二、条件判断与循环语句(一)条件判断

1、一种条件的判断语句: if 条件句: print(结果句) score=9.1ifscore>8:print(要看这部电影)2、两种条件判断语句: if 条件句1: print(结果1)

else: print(结果2) score=9.1ifscore>8:print(要看这部电影)else:print(电影太烂,不去看了)3、多种条件判断语句: if 条件句1: print(结果1)

elif 条件句2: print(结果2) elif 条件句3: print(结果3) else: print(结果4) age=int(input(请输入你家狗狗的年龄,按enter键获取计算结果:

))ifage<0:print(狗狗年龄小于0)elifage==1:print(相当于14岁的人)elifage==2:print(相当于22岁的人)else:human=22+(age-2)*6print

(对应人类年龄:,human)4、单语句多条件判断:or and if 条件句1 and 条件句2: print(结果) if 条件句1 or 条件句2: print(结果1) else:

print(结果2) num=5ifnum>=0andnum<=10:print(hello)num=10ifnum=10:print(hello)else:print(undefine

)num=8if(num>=0andnum=10andnum<=15):print(hello)else:print(undefine)(二)循环语句#1-1、批量处理数据:将容器中的每个数据按照特定规则重复处理

eatList=[吃第1次饭,吃第2次饭,吃第3次饭]foriineatList:print(i)输出结果:吃第1次饭吃第2次饭吃第3次饭#1-2、重复输出一个字段N次foriinrange(int(input

(请输入字段:))):print(hello world)#2-1、遍历序列lst=list((a,b,c,1,2))foriinlst:print(i)#2-2、遍历字典#例1:age={Tom:18

,Jack:19,Alex:17,Mary:20}forkeyinage:print(key+年龄为:%s岁%age[name])输出结果为:Tom年龄为:18岁Jack年龄为:19岁Alex年龄为:17

岁Mary年龄为:20岁#例2:gafataDict={腾讯:HK:00700,阿里巴巴:baba,苹果:Apple,谷歌:GOOGLE,Facebook:fb,亚马逊:amzn}forkey,value

ingafataDict.items():#对股票代码转换成大写newValue=value.upper()#将转换后新的股票代码赋值给对应的keygafataDict[key]=newValueprint

(gafataDict)#3、循环控制语句#3-1、continue用于跳出当前循环forkey,valueingafataDict.items():if(key==苹果):continueprint(

当前公司:,key,当前股票代码:,value)输出结果为:当前公司:腾讯当前股票代码:HK:00700当前公司:阿里巴巴当前股票代码:baba当前公司:谷歌当前股票代码::GOOGLE当前公司:Facebook

当前股票代码:fb当前公司:亚马逊当前股票代码:amzn#3-2、break用于退出整个循环#查找苹果公司的股票代码number=0forkey,valueingafataDict.items():number

=number+1if(key==苹果):print(查找,key,公司的股票代码是,value)breakprint(当前公司:,key,,当前股票代码:,value)输出结果为:当前公司:腾讯,当前股票代码:

HK:00700当前公司:阿里巴巴,当前股票代码:baba查找苹果公司的股票代码是Apple三、变量与函数(一)变量1、单变量赋值2、多变量赋值3、动态变量#1、单变量赋值a=100b=100.00c=

appleprint(a)print(b)print(c)输出结果为:100100.0apple#多变量赋值a=b=c=100d,e,f=hello,world,appleprint(a,b,c,d,e

,f)输出结果为:100100100helloworldapple#动态变量,对同一个变量的赋值是可更改的va1=10print(va1)va2=20print(va2)输出结果为:1020(二)函数1、内置函数

2-1、自定义函数#1、有条件判断的函数语句:deff(x):ifx<5:print(输入值小于5)else:print(输入值大于等于5)print(f(10))输出结果为:输入值大于等于5#2、无条件判断的函数语句,需在定义完函数后,加return,表示退出函数后返回值

deff1(x,y):z=x+yreturnzprint(f1(1,2))输出结果为:43#3、函数参数的类型:#3-1、不改变数据类型--不改变数据的值(数值、字符串、元祖)defchangeInt(

a):a=a+1b=1print(调用函数之前b的值=,b)changeInt(a=b)print(调用函数之后b的值=,b)输出结果为:调用函数之前b的值=1调用函数之后b的值=1#3-2、可变数据类型--改变列表的值(列表)

defchangeList(inputList):inputList.append(奶茶妹妹)nameList=[马云,刘强东]print(调用函数之前的值:,nameList)changeList(inputList

=nameList)print(调用函数之前的值:,nameList)输出结果为:调用函数之前的值:[马云,刘强东]调用函数之前的值:[马云,刘强东,奶茶妹妹]2-2、变量作用域:包含全局作用域和局部作用域,定义在函数内部的作用域称为局部作用域,局部作用域只能在内部访问;定义在函数外部的作用域为全局作用域,可在函数外部访问

#局部变量--不改变函数外部的变量值deff(x):x=hello worldreturn(函数内为局部变量:%s%x)a=10print(a)print(f(a))print(a)输出结果为:10函数内为局部变量:

helloworld10#全局变量--改变函数外部的变量值deff():globalaa=hello worldreturn(函数内转为全局变量:%s%x)a=10print(a)print(f())print

(a)输出结果为:10函数内转为全局变量:helloworldhelloworld四、模块与包(一)模块#python内置模块#第1步:引入模块importsys#第2步:使用模块中的函数,属性pathList

=sys.pathprint(Python路径为:\n,pathList)#使用第三方模块:pandas,pandas是数据分析工具#第1步:引入模块importpandasaspd#文件路径:在本地运行时,替换成你自己的实际数据路径

fileNameStr=C:\数据科学\猴子数据分析学院\数据分析(高级)(Python)\第2关:零基础掌握人工智能核心语言Python\数据\病历数据.xlsx#第2步:导入Excel文件x1=pd

.ExcelFile(fileNameStr)patientDF=x1.parse(Sheet1)print(patientDF)(二)包#包使用总结1、import包名称2、import包名称as别名

3、from包名称import函数名五、数据结构#数据结构---容器 #集合(collection):包括双向列表queue:队列,栈;排序字典:OrderedDict;计数器Counterfromcollections

importdeque#定义队列:排队吃饭人的编号queue=deque([001,002,003,004,005])#出队:在队列头部删除元素queue.popleft()print(queue)输出结果:

deque([002,003,004,005])#定义栈:浏览个人知乎主页的顺序stack=deque([知乎动态,知乎回答,知乎文章])#入栈:在栈顶加入元素stack.appendleft(知乎专栏

)print(stack)#出栈:stack.pop()print(stack)输出结果:deque([知乎专栏,知乎动态,知乎回答,知乎文章])deque([知乎专栏,知乎动态,知乎回答])#默认字典

gafataDict={腾讯:HK:00700,阿里巴巴:baba,苹果:Apple,谷歌::GOOGLE,Facebook:fb,亚马逊:amzn}print(gafataDict)输出结果:{腾讯:

HK:00700,阿里巴巴:baba,苹果:Apple,谷歌::GOOGLE,Facebook:fb,亚马逊:amzn}#collection中的排序字典---OrderedDict:按照插入key的顺序,对字典排序

fromcollectionsimportOrderedDict#定义有序字典gafataDict=OrderedDict({腾讯:HK:00700,阿里巴巴:baba,苹果:Apple,谷歌::GOOGLE

,Facebook:fb,亚马逊:amzn})print(gafataDict)输出结果:OrderedDict([(腾讯,HK:00700),(阿里巴巴,baba),(苹果,Apple),(谷歌,:GOOGLE

),(Facebook,fb),(亚马逊,amzn)])#计数器fromcollectionsimportCountercDict=Counter(有一种鸟是永远也关不住的,因为他们的羽毛太光亮了羽毛太光亮。

)print(cDict[亮])输出结果:2#出现次数最多的3个词print(cDict.most_common(3))输出结果:[(的,2),(羽,2),(毛,2)]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻12416