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<length:
print(namesList[i])
i+=1
2.7列表的嵌套
类似while循环的嵌套,列表也是支持嵌套的
python--元组和字典
1.元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
1.1元组的格式
格式:
变量名=(,,,,)
1.2访问元组
案例:
aTuple=(23,35,56,34,11,21)
print(aTuple[2]
)#56
1.3查询个数
案例:
aTuple=('b','c','d','e','f','g')
print(aTuple.count('d'))
#1
1.4查询索引
案例:
aTuple=('b','c','d','e','f','g')
print(aTuple.index('d',0,4))
#2
1.5修改数据(不能修改)
案例:
aTuple=('b','c','d','e','f','g')
aTuple[1]=23
#TypeError: 'tuple' object does not support item assignment
1.6类型转换
列表转换元组
案例:
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.7元组的循环取值
1.for循环
2.while循环
2.字典
2.1字典的格式
变量名={key1:value,key2:value,,,}
2.2根据建访问值
info={"name":"anfly","age":18,"sex":"男"}
print(info["name"])
#anfly
2.3修改元素
info={"name":"anfly","age":12,"sex":"男"}
info["age"]=14
print(info)
#{'name': 'anfly', 'age': 14, 'sex': '男'}
2.4添加元素
案例:
info={"name":"anfly","age":12,"sex":"男"}
info["gender"]="属鸡"
print(info)
#{'name': 'anfly', 'age': 12, 'sex': '男', 'gender': '属鸡'}
2.5删除元素
案例:
info={"name":"anfly","age":12,"sex":"男"}
del info
print(info)
#NameError: name 'info' is not defined
2.6查询长度
案例:
info={"name":"anfly","age":12,"sex":"男"}
print(len(info))
#3
2.7字典中循环
案例:
info={"name":"anfly","age":12,"sex":"男"}
foriininfo.keys():
print(i)
取出字典中的key和value
方式:
info={"name":"anfly","age":12,"sex":"男"}
foriininfo.keys():
print(i,info[i])
集合和函数
1.集合
1.1集合的特征
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重
1.2集合的格式
变量名=set()
变量名.add(元素)
# 必须不能初始化值
1.3天假元素
案例:
nums={11,24,45,96,28}
nums.add(42)print(nums)
#{96, 42, 11, 45, 24, 28}
1.4删除元素
案例:
nums={11,24,45,96,28}
nums.remove(24)
print(nums)
#{96, 11, 45, 28}
1.5集合的交集和并集
案例:
set1={"anfly","tom","haha"}
set2={"anfly","susala"}
set3=set1&set2
print(set3)
1.6公共方法
公共方法(+)
公共方法(*)
公共方法(in)
2. 函数
2.1什么是函数
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
2.2 函数定义和调用
格式:
def函数名():
执行语句
函数名()
#调用函数
案例:
defhello():
print("hello word")
hello()
2.3函数参数
思考:现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?
案例:
defadd2num():
a=11
b=22
c=a+b
print c
2.3.1 位置参数
案例:
deffun(a,b):
print("a:",a)
print("b:",b)
fun(2,3)
2.3.2 关键字参数
案例:
deffun(a,b):
print("a:",a)
print("b:",b)
fun(a=2,b=3)
2.3.3:缺省参数
在形参中默认有值的参数,称之为缺省参数
案例:
defprintinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="anfly")
#name: anfly
#age: 20
2.3.4 不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。
案例:
def printinfo(*args):
print("args:",args)
printinfo(100,200,300,400)
#args: (100, 200, 300, 400)
2.3.5:参数位置顺序
案例:
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)
2.4函数返回值
场景:•我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值
代码:
defsum(a,b):
return a+b
sum(1,2)
2.4.1 多个retuen
2.4.2反悔多个数据
代码:
def divid(a, b):
shang = a//b #取模
yushu = a%b #取余
return shang,yushu #默认是元组
result = divid(5,2)
print(result)
# 输出(2, 1)
2.5函数类型
分类:
1. 无参数,无返回值
2. 无参数,有返回值
3. 有参数,无返回值
4. 有参数,有返回值
2.6函数的嵌套
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用
案例:
def testb():
print("testb start")
print("testb testb 执行")
print("testb end")
def testa():
print("testa start")
testb()
print("testa end")
2.7匿名函数
代码:
g = lambda x :x+1
print(g(1))
3.变量
3.1局部变量
定义:
局部变量,就是在函数内部定义的变量
代码:
3.2全局变量
定义:
局部变量,就是在函数内部定义的变量
代码: