python基本语法
1.python介绍
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
2.发展历史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用
3.python的特点
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"
4.python及python安装
。。。
5.第一个python程序
1.创建python file
2.练习打印holle word
6.python变量和数据类型
6.1.变量的定义
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
6.1.1概念
整数
Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
字符串
字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。
布尔值可以用and、or和not运算。
and运算是与运算,只有所有都为 True,and运算结果才是 True。A与B true true
or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
6.2标识符
1.什么是标识符?
开发人员在程序中自定义的一些符号和名称
标识符是自己定义的,如变量名 、函数名等
6.3 python中print语句
print() 方法用于打印输出,最常见的一个函数。
语法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数:
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
6.4 Python中input语句
input() 用来获取控制台的输入。
语法:
input([prompt])
7.运算符
1.算术运算符
+ - * / % ** //
2.逻辑运算符
and or not
3.比较运算符
== I= > < >= <=
4.赋值运算符
= += -= *= /= %= **= //= =
python基础--语句
1.判断语句
在程序中如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断
1.1 if语句的使用格式
if 要判断的条件:
条件成立时,要做的事情
1.2 if-else的使用格式
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
1.3 if-elif-else的使用格式
if 要判断的条件:
条件成立时,要做的事情
elif 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
1.4 if嵌套
if 要判断的条件:
条件成立时,要做的事情
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
else:
条件不成立时,要做的事情
2.循环语句
2.1 while循环
2.1.1 while循环的格式
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
2.1.2while循环嵌套
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
2.2 for循环
2.2.1for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
3. pass的使用
1. Pythonpass是空语句,是为了保持程序结构的完整性。
2. pass不做任何事情,一般用做占位语句。
for i in range(10):
pass
Python列表
1. 列表的介绍
思考:前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?
1.1格式
变量=[,,,]
2.列表的相关操作
names1 = ['xiaoWang','xiaoZhang','xiaoHua']
names2=[23,34,45]
name='anfly'
2.1列表的新增
append, extend, insert
2.2列表的修改
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
2.2.1列表的修改
names1[0] ="xiaoli"
print(names1)
#['xiaoli', 'xiaoZhang', 'xiaoHua' ]
2.3列表的删除
del:根据下标进行删除
pop:删除最后一个元素
remove:根据元素的值进行删除
2.4列表的查询
index, count
案例:
print(names1.index("xiaoZhang"))
#1
print(names1.index("xiaoZhang1"))
#ValueError: 'xiaoZhang1' is not in list
2.5列表的排序
1.sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
2.reverse方法是将list反转
案例:
nums=[34,22,15,68,89]
nums.sort()
print(nums)
#[15, 22, 34, 68, 89]
案例:反转
nums=[34,22,15,68,89
]nums.reverse()
print(nums)
#[89, 68, 15, 22, 34]
2.6列表的循环取值
for循环
namesList=['xiaoWang','xiaoZhang','xiaoHua']
fornameinnamesList:
print(name)
while循环
namesList=['xiaoWang','xiaoZhang','xiaoHua']
length=len(namesList)
i=0
whilei print(namesList[i]) i+=1 类似while循环的嵌套,列表也是支持嵌套的 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。 格式: 变量名=(,,,,) 案例: aTuple=(23,35,56,34,11,21) print(aTuple[2] )#56 案例: aTuple=('b','c','d','e','f','g') print(aTuple.count('d')) #1 案例: aTuple=('b','c','d','e','f','g') print(aTuple.index('d',0,4)) #2 案例: aTuple=('b','c','d','e','f','g') aTuple[1]=23 #TypeError: 'tuple' object does not support item assignment 案例: aa=[23,34,45,56,67] tuple(aa)print(aa) #[23, 34, 45, 56, 67] 案例: aTuple=('b','c','d','e','f','g') a=list(aTuple)print(a) #['b', 'c', 'd', 'e', 'f', 'g'] 1.for循环 2.while循环 变量名={key1:value,key2:value,,,} info={"name":"anfly","age":18,"sex":"男"} print(info["name"]) #anfly info={"name":"anfly","age":12,"sex":"男"} info["age"]=14 print(info) #{'name': 'anfly', 'age': 14, 'sex': '男'} 案例: info={"name":"anfly","age":12,"sex":"男"} info["gender"]="属鸡" print(info) #{'name': 'anfly', 'age': 12, 'sex': '男', 'gender': '属鸡'} 案例: info={"name":"anfly","age":12,"sex":"男"} del info print(info) #NameError: name 'info' is not defined 案例: info={"name":"anfly","age":12,"sex":"男"} print(len(info)) #3 案例: info={"name":"anfly","age":12,"sex":"男"} foriininfo.keys(): print(i) 方式: info={"name":"anfly","age":12,"sex":"男"} foriininfo.keys(): print(i,info[i]) 集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重 变量名=set() 变量名.add(元素) # 必须不能初始化值 案例: nums={11,24,45,96,28} nums.add(42)print(nums) #{96, 42, 11, 45, 24, 28} 案例: nums={11,24,45,96,28} nums.remove(24) print(nums) #{96, 11, 45, 28} 案例: set1={"anfly","tom","haha"} set2={"anfly","susala"} set3=set1&set2 print(set3) 公共方法(+) 公共方法(*) 公共方法(in) 在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 格式: def函数名(): 执行语句 函数名() #调用函数 案例: defhello(): print("hello word") hello() 思考:现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计? 案例: defadd2num(): a=11 b=22 c=a+b print c 案例: deffun(a,b): print("a:",a) print("b:",b) fun(2,3) 案例: deffun(a,b): print("a:",a) print("b:",b) fun(a=2,b=3) 在形参中默认有值的参数,称之为缺省参数 案例: defprintinfo(name,age=20): print("name:",name) print("age:",age) printinfo(name="anfly") #name: anfly #age: 20 有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。 案例: def printinfo(*args): print("args:",args) printinfo(100,200,300,400) #args: (100, 200, 300, 400) 案例: defsun(a,*args,b=22,**kwargs): print("a:",a) print("args:",args) print("b:",b) print("kwargs:",kwargs) sun(100,200,300,b=2,m=3,n=4) 场景:•我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值 代码: defsum(a,b): return a+b sum(1,2) 2.4.2反悔多个数据 代码: def divid(a, b): shang = a//b #取模 yushu = a%b #取余 return shang,yushu #默认是元组 result = divid(5,2) print(result) # 输出(2, 1) 分类: 1. 无参数,无返回值 2. 无参数,有返回值 3. 有参数,无返回值 4. 有参数,有返回值 一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用 案例: def testb(): print("testb start") print("testb testb 执行") print("testb end") def testa(): print("testa start") testb() print("testa end") 代码: g = lambda x :x+1 print(g(1)) 定义: 局部变量,就是在函数内部定义的变量 代码: 定义: 局部变量,就是在函数内部定义的变量 代码:2.7列表的嵌套
python--元组和字典
1.元组
1.1元组的格式
1.2访问元组
1.3查询个数
1.4查询索引
1.5修改数据(不能修改)
1.6类型转换
列表转换元组
元组转换列表
1.7元组的循环取值
2.字典
2.1字典的格式
2.2根据建访问值
2.3修改元素
2.4添加元素
2.5删除元素
2.6查询长度
2.7字典中循环
取出字典中的key和value
集合和函数
1.集合
1.1集合的特征
1.2集合的格式
1.3天假元素
1.4删除元素
1.5集合的交集和并集
1.6公共方法
2. 函数
2.1什么是函数
2.2 函数定义和调用
2.3函数参数
2.3.1 位置参数
2.3.2 关键字参数
2.3.3:缺省参数
2.3.4 不定长参数
2.3.5:参数位置顺序
2.4函数返回值
2.4.1 多个retuen
2.5函数类型
2.6函数的嵌套
2.7匿名函数
3.变量
3.1局部变量
3.2全局变量