基础语法
Python标识符
标识符的定义
标识符(identifief)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。
标识符的命名规则
第一个字符必须是字母表中字母或下划线_。
标识符的其他的部分由字母、数字和下划线组成。
标识符对大小写敏感。
在Python3中,可以用中文作为变量名,非ASCI标识符也是允许的了
这些保留字不能用作常数或变数,或任何其他标识符名称
and exec not assert finally or break for pass class from print continue global raise def if
return del import try elif in while else is with except lambda yield
注释
Python中的注释有单行注释和多行注释
单行注释以#开头
多行注释用三个单引号'''或者三个双引号"""将注释括起来
数据类型
-
数字(Number)类型
python中数字有四种类型:整型、布尔型、浮点数和复数。 int(整数),如1,只有一种整数类型int,表示为长整型,没有python2中的Long(长整型) bool (布尔),如True float(浮点数),如1.23、3E-2 complex(复数),如1+2j、1.1+2.2j
-
字符串(String)
python中单引号和双引号使用完全相同。
使用三引号("“或”"")可以指定一个多行字符串。
转义符’’
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。如r"this is a line with \n"则\n会显示,并不是换行。
字符串可以用+运算符连接在一起,用*运算符重复。
Python中的字符串有两种索引方式,从左往右以o开始,从右往左以-1开始。
Python中的字符串不能改变。
Python没有单独的字符类型,一个字符就是长度为1的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标]案例: str = 'AnQuanNiu' print(str) #输出字符串 print(str[0:-1]) #输出第一个到倒数第二个的所有字符 print(str[0]) #输出第一个字符 print(str[2:5]) #输出从第三个开始到第五个的字符 print(str[2:]) #输出从第三个开始后的所有字符 print(str* 2) #输出字符串两次 print(str +'你好') #连接字符串 print('-------------------—-----') print('hello\\nAnQuanNiu') #使用反斜杠(\)+n转义特殊字符 print(r'hello\AnQuanNiu') #在字符电前面添加一个r,表示原始字符串,不会发生转义
-
-
空值
在Python中,可直接用True和Fatse表示布尔值,也可通过布尔运算计算出来 print(True)True print(False)False print(3>2)ture print(3 >5)False
输入与输出
- Print输出
- print默认输出是换行的,如果要实现不换行需要在变量末尾加上end=""
- Input输入
- input("\n\n按下enter 键后退出。")
变量
变量在程序中用一个变量名表示,变量名必须是字母、数字和下划线的组合,且不能以数字开头
n = 1#变量n是一个整数 a=1.0 #变量a是一个浮点数 str ='Hello world!' #变量str是一个字符串 question = True #变量question是一个布尔值 可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向a所指向的数据,如 a ='ABC' b= a a ='XYZ' print(b)
常量
在Python中,通常用全部大写的变量名表示常量
如:
Pl= 3.1415926
注:用全部大写的变量名表示常量只是一个习惯上的用法
多行语句
Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
total = 'item_one' +\
'item_two' +\
'item_three'
在[],{},或()中的多行语句,不需要使用反斜杠(\),例如:
total = ['item_one','item_two','item_three','item_four','item_five']
格式化字符串与编码
格式化字符串
python格式化字符串的使用方式类似于C语言,使用占位符来格式化字符串
输出
print('Hello,%s!'%'world') Hello , world!
name ='Ming'
age = 23
print("Hello , %s.You are %s." %(name, age)) Hello,Ming.You are 23.
常用占位符
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
python常见的几种格式化字符串有r字符串、b字符串、f字符串。
f字符串从Python 3.6开始加入标准库,也被称为“格式化字符串文字“。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快
输出
name = 'XiaoMing'
age = 23
print(f'Hello,{name}.You are {age}.') Hello ,XiaoMing.You are 23.
print(f'Hello,{name}.You are {age}.') Hello , XiaoMing.You are 23.
注:f字符串是在运行时进行渲染的,因此可以将任何有效的Python表达式放入其中
编码
当Python解释器读取源码时,为了让它按UTF-8编码读取,通常在文件开头处写上这两行:
#!/usr/bin/env python3
#-*- coding: utf-8-*-
第一行是为了告诉Linux/OSx系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行是为了告诉Python解释器,按照UTF-8编码读取源码。否则,源码中写的中文在输出时可能会有乱码。
列表
列表(list):列表由一组元素组成。每个元素可以存储不同类型的数据,如字符串、数字甚至元 素。列表可以实现添加、删除和查找操作,*元素的值可以被修改*。列表是传统意义上的数组 列表用"[]"标识,列表创建示例如下:
list = ["test1",786,2.23,"test2",70.2]
tinylist = [123,'test3']
print (list) #输出完整列表
print (list[0]) #输出列表的第一个元素
print (list[1:3]) #输出第二个至第三个元素
print (list[2:]) #输出从第三个开始至列表末尾的所有元素
print (tinylist* 2) #输出列表两次
print (list+ tinylist) #打印组合的列表
tinylist.append(6) #将6添加到tinylist列表中
print(tinylist)
del tinylist[-1] #删除最后一个元素
print(tinylist)
tinylist[1]=6 #将下标为1的列表内容替换为6
print(tinylist)
元组
元组(tuple)︰元组是另一个数据类型,类似于List(列表)。元组往往代表一行数据,而元组中的元素代表不同的数据项。可以把元组看做不可修改的数组。元组用"()"标识,创建元组示例如下:
print (tuple) #输出完整元组
print (tuple[0] ) #输出元组的第一个元素
print (tuple[1:3]) #输出第二个至第四个(不包含)的元素
print (tuple[2:]) #输出从第三个开始至列表末尾的所有元素
print (tinytuple* 2) #输出元组两次
print (tuple + tinytuple) #打印组合的元组
tuple2 = tuple + tinytuple
print(tuple2)
del tuple2 #删除元组
字典
字典(dictionary) : python之中字典(dictionary)是除列表以外最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取 的,而不是通过偏移存取。字典用"{}"标识。字典由索引(key)和它对应的值value组成。创建示例如下
dict= {}
dict['one'] = "This is one"
dict[2]= "This is two"
tinydict = {'name' : 'anguanniu','code':9527,'dept': 'sales'}
print (dict['one']) #输出键为'one’的值
print (dict[2]) #输出键为2的值
print (tinydict) #输出完整的字典
print (tinydict.keys()) #输出所有键
print (tinydict.values()) #输出所有值
tinydict['name'] = 'test' #将name的值修改为test
print(tinydict['name'])
del tinydict['name'] #删除name的值
print(tinydict)
tinydict.clear() #清空tintdict字典
print(tinydict)
集合
集合(set)是一个无序的不重复元素序列。可以使用大括号{}或者set()函数创 建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。创建示例如下:
set1 = {'zhangsan','lisi','wanger' ,'wanger'}
print(set1) # 这里演示的是去重功能
a = 'zhangsan' in set1 #快速判断元素是否在集合内
print(a)
b = 'sdfsdf' in set1
print(b)
#下面展示两个集合间的运算
c = set('abcd')
print(c)
d = set('abcdefg')
print(d)
print(c-d) #集合c中包含而集合d中不包含的元素
print(d-c) #集合d中包含而集合c中不包含的元素
print(c|d) #集合c或d中包含的所有元素
print(c&d) #集合c和d中都包含了的元素
print(c^d) #不同时包含于c和d的元素
thisset = set(("BaiDu","TenXun","TaoBao"))
print(thisset)
thisset.add("XiaoMi") #将XiaoMi添加到thisset集合中
print(thisset)
thisset.remove("XiaoMi") ##将XiaoMi移除
print(thisset)
thisset.clear() #清空集合
print(thisset)
条件结构
if else
#如果满足条件condition_1,则执行代码块statement_block_1否则执行statement_block_2
if condition_1:
statement_block_1
else:
statement_block_2
else if
if condition_2:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
注意:
1.Python中用elif代替了else if,所以if语句的关键字为: if-elif-else
2.每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。
3.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
4.在Python中没有switch - case语句。
循环结构
for循环(9*9乘法口决表)
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',(j*i),end='\t')
函数
#### 函数的定义
函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用其函数名即可。
定义语法def
def 函数名(参数列表)
函数体
函数的参数
函数的参数是指,我们在定义函数的时候,可以传输数据进来,传输的数据就叫参数。
函数的调用
写函数名字,括号中带要处理的参数例子: dec(1,2)函数中的return与输出不一样,只允许return一个返回值(有多个则返回第一个)
输出可以输出很多语句注意,必须按照缩进来写函数例子:
def dec (a,b)
return a-b
一个函数的参数可以是多个的,或者不带参数的
例子: def output() : def plus (a,b) :def plus (a,b,c)
函数的参数输入,可以通过外部输入修改赋值顺序
例子:
def plus (a,b):
调用
plus (b=1,a=2)
内置函数
type() :读取函数的变量类型
int()∶将参数变量类型修改为整型
float ()∶将参数变量的类型修改为浮点型
str():将参数变量的类型修改为字符串类型
max ()︰取参数的最大值
min()∶取参数的最小值
abs () ︰取参数的绝对值
sum ()︰取参数的总和值
round ():取参数的小数长度
x**y: x的y次方,等同于pow (x,y)函数
len()∶计算参数中有多少字符
s (a,b,c)
函数的参数输入,可以通过外部输入修改赋值顺序
例子:
def plus (a,b):
调用
plus (b=1,a=2)
#### 内置函数
```python
type() :读取函数的变量类型
int()∶将参数变量类型修改为整型
float ()∶将参数变量的类型修改为浮点型
str():将参数变量的类型修改为字符串类型
max ()︰取参数的最大值
min()∶取参数的最小值
abs () ︰取参数的绝对值
sum ()︰取参数的总和值
round ():取参数的小数长度
x**y: x的y次方,等同于pow (x,y)函数
len()∶计算参数中有多少字符