环境搭建使用的程序
1)python 解释器(python)
python解释器安装时的操作:先前配置的解释器——添加解释器——设置——编辑器——文件编码——项目编码:UF-82)python 集成开发环境(pyCharm)
python:是高级计算机语言,面向对象编程的语言(包括封装、继承、多态等)
基本语法
1)大小写敏感
2)可以使用注释:
SQL 的注释#、
html 的注释<!-- --> 、
python 的单行注释 #,多行注释 """(3对")
3)语句结尾只需要换行,不需要使用其他符号
4)输入python进入,输入exit()退出
5)输入语句 input(),用户从键盘输入
6)输出语句 print(输出的内容),多内容是使用空格间隔,print输出结尾可使用end=自定义内容\n 是换行:print('输出的内容',end='输入的内容\n')
7)字面值写法:数字不加引号,非数字需要加引号,不区分单引号或双引号
# 2个输入语句:
# 输出:
#床前
#疑是
诗句1=input('请您输入诗句1:')
诗句2=input('请您输入诗句2:')
print('床前',诗句1)
print('疑是',诗句2)
变量和数据类型
变量
变量名=值
此变量可以进行赋值,可使用变量名使用当前的值
变量名的规格
1)大小写敏感
2)不能以数字开头
3)类型有:英文的大小写、数字、中文、连接符号_
4)不可以使用已定义的语句关键词,可以使用时在已定义的语句上加个其他数字等方式使用
已定义语句,例如:if、for、while、True 等
数据类型
1)number(数字),有int(整型)、long(长整型)、float(浮点型)、complex(复数)、bool(布尔型)
bool:空、在逻辑上非空的单位都表示真,反之则为假,(True只代表,代表为真、False代表假)
complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型:a + bj
2)str,String(字符串)
3)bool(布尔类型)
4)list 列表 [元素,元素……],元素可以是任何类型
5)tuple 元组 (元素,元素……),元素可以是任何类型
6)set 集合 {元素,元素……},元素可以是:number,str,元组
7)dict 字典,Dictionary(字典)键:值 对 {key:value;key:value,……},key可以是number、str、元组,value可以是任何类型
#数值类 int
print(123,type(123))
print(12.3,type(12.3))
print(12+3j,type(12+3j))
print(True,type(True))
# 字符串 str
print('123',type('123'))
# 列表 list [元素,元素……],元素可以是任何类型
print([12,'abc',True,[1,2,3]],type([12,'abc',True]))
#元组 tuple [元素,元素……],元素可以是任何类型
print((12,'abc',True,[1,2,3]),type((12,'abc',True,[1,2,3])))
# 集合 set {元素,元素……},元素可以是:number,str,元组
print({11,22,33},type({11,22,33}))
# 字典 dict 键:值 对 {key:value;key:value,……},key可以是number、str、元组,value可以是任何类型
print({11:'a',22:'b',33:'c'},type({11:'a',22:'b',33:'c'}))
查询函数的类型type
type(对象),是返回‘数据类型’中对应的元素对象数据类型
数据类型分类
1)可变类型: List(列表)、Dictionary(字典)、Set(集合) 符号是 []、{}
2)不可边类型: Number(数字)、String(字符串)、Tuple(元组) 符号是()
str
1)多行字符串:字面值,可以使用单引号、双引号、三引号
2)字符串中的每个字符:可用索引号(下标)访问字符串中的字符
3)显示字符数:字符串长度lenth,len(字符串)返回长度
4)切片:从起始到终止的字符,[起始:终止:步长](起始从0开始计算,终止到字符为止)
#问题学者,中俄友好、和平与发展委员会专家理事会俄方主席尤里·塔夫罗夫斯基21日接受《环球时报》记者采访时表示
a="""问题学者,中俄友好、和平与发展委员会专家理事会俄方主席尤里·塔夫罗夫斯基21日接受《环球时报》记者采访时表示"""
print(len(a)) #查询字符串的数量
print(a[len(a)-2]) #查看倒数第2个字符串
print(a[5:10]) #开始是0计算,按字符串终止;故,此为从第6个字符开始到第10字符终止
a='1234567890'
print(a[5:8])
print(a[:8]) #从头开始
print(a[5:]) #直到最后
print(a[:]) #从头开始直到最后
print(a[::2]) #步长
print(a[::-2]) #步长的负数,即倒序
运算,运算符
算术运算
+ 、- 、*
1)a/b 除法,浮点数(小数点)
2)a//b 除法,整数
3)a%b a除b的余数
4)a**b a的b次方# 算术运算 a=10 b=7 print(a+b) print(a-b) print(a*b) print(a/b) print(a//b) print(a**b)
比较运算 —— 对象 is 对象
- 表示判断2个对象是否同一个对象
- 同一个对象的特点:对一个对象做变化,另一个跟着变,id(对象)的值相等
- a in 包含多元素的对象:表示判断a是否是包含多元素的对象中的一个元素(列表,元组,集合,字符串),字典,表示键是否在该字典中
- 运算结果:布尔型
> 、 >= 、 < 、 <=
1)a==b 比较a和b是否相等
2)a!=b 比较a和b是否不相等#比较运算 a=10 b=7 print(a>b) print(a>=b) print(a<=b) print(a<b) print(a==b) print(a!=b)
逻辑运算 ——
0,空字符,空对象None等,作为False,其他判断为True
and 、or 、not
- not a :若a为Ture返回False,若a为False返回Ture
- a and b —— 口诀:前真则后,否则为前(a为True,则返回b;a为False,则返回a) 例如:1 and 10 ,则 返回10
- a or b —— 口诀:前真则前,否则为后(a为True,则返回a;a为False,则返回b)
# 逻辑判断 a=10 b=7 print(a and b) #返回b print(a or b) #返回a print(not a) #返回False
赋值运算
1)a=b 简单的
2)a+n=b 运算后赋值 :a=a+b
-=
*=
/=
//=
**= :a**=3、a=a**3# 赋值运算 a=10 b=3 a//=b #10除3的整数 print(a) #结果3
3)多重赋值 :a,b,=1,2 、 a,b=b,a
4)连续赋值 :x=y=z=[1,2,3]
程序结构
条件分支
1)if 表达条件:
语句
条件为真的,既可以执行
2)if 表达条件:语句1
else:
语句2
条件是真的执行语句1,条件是假的执行语句2
3)if 表达条件:语句1
elif 条件:
语句2
...
else:
语句3
从上到下,条件为真,则执行对应语句至结束;若所有条件为假,则执行else语句import random # 引用random print(random.randrange(1,11)) print('-----------') a=random.randrange(1,10) print(a) if a>5: print('大于5的')
随机数——import 引入
1)引用随机数 random:import random
2)随机取值 random.randrange() —— 返回指定范围内的随机数
数据类型
-
number
bool
1)在逻辑上,任何非0的数字表示逻辑时都=Ture;
2)0表示False;
3)任何空对象表示逻辑时都=False:“”空字符串,()空元组,[]空列表,{}空字典,None空对象
4)任何非空的对象表示逻辑时都=True
int
长度没有限制,可正可负
float
精度不准,小数点后15位开始肯精度不准
complex
复数:有实部+虚部
str 字符串
1)一对单引号或一对双引号引用的若干字符
2)\在字符串中表示转义,需要\\才能在字符串中表示1个\字符,即"a\\b"才表示a字符、\字符和b字符的字符串
3)"\t"表示缩进,"a\tb"表示a字符、缩进字符和b字符的字符串
4)'\n'表示换行,'a\nb'表示a字符一行、b字符一行的字符串
str的常用方法
1、encode(encode="编码格式")
1)表示将该文字进行编码,转为byte字节型
2)用的不多,但专门用于编码类型转换
3)通常需要对字符串对象.encode(encode="原编码").decode(encode='所需编码')才能获取其他编码所作的中文字符串
2、join(list或tuple)
将该列表或元组用指定字符串连接
3、split("分分割字符")
表示用指定字符对该字符串分割,得到一个列表
4、startswith("子字符串")
返回bool值,判断本字符串是否以指定字符串打头
5、endswith("子字符串")
返回bool值,判断本字符串是否以指定字符串结尾
6、replace("现有子字符串","新子字符串")
表示将该字符串中所有的现有子字符串全部替换成新的子字符串,并返回新的字符串结果
7、lower()
将当前字符串中所有大写转小写,其他不变,返回新的结果字符串
8、upper()
将当前字符串中所有小写转大写,其他不变,返回新的结果字符串
list 列表 [元素,元素,...]
1)列表中的每个元素,列表[ ],可以使用索引(下标)访问
索引为正,列表长度为n时,n-1时最后一个;
索引为负,则-1表示最后一个,2表示倒数第2个
2)列表中的元素的数量,列表长度length,len(列表),返回长度
3)切片,从起始元素到终止元素,变量名[起始:终止:步长]
4)常用方法:reverse()
将当前列表倒序,方法本身不返回结果,作用在当前列表上
5)增加列表元素,append(元素)
表示向列表末尾增加一个元素,向该列表指定位置(索引,元素)
insert(索引,元素)
表示向该表指定位置插入一个元素
6)删除元素,pop(索引)
pop方法有返回值,返回值时被删除的元素;
表示将指定位置元素删除,若不带参数,即没有索引,则表示删除最后一个元素,即索引=-1
7)清空列表,clear()
方法没有参数,表示清空列表,使该表对象变成空列表8)修改元素,列表[索引]-值
索引不能越界,越界就报错
9)改顺序,sort(reverse=True)
若sort()方法不带有参数,则该方法将列表中的元素升序排列;
若sort(reverse=True)方法带有reverse=True的参数,则该方法列表中的元素降序排序
10)拷贝,copy()
x.copy()作用和x.[::]完全相同
这种拷贝叫浅拷贝
tuple 元祖 (元素,元素,...)
元素可以是任何类型
dict 字典 {key:value,key:value,...}
1)一对大括号引用的若干键值对,键值对直接逗号隔开
2){}时空字典
3)键值对:
key:value,key和value之间用冒号连接;
key,键,要求只能时只读类型的对象,数字、字符串、元组,但是通常只用字符串
value,值,没有类型限制
字典对象中的键值对没有顺序
4)常用方法:增加键值对 dict[新key]=值
但是如果key不存在,则该写法报错
5)dictget(key)
同样能得到该键值对对应的值,但是如果键不存在,则不报错而是返回None空
set {元素,元素,...}
1){}引用的多个元素,逗号隔开
2)元素无序,但要求不重复
3)空集合的写法,set()
4)常用方法:
add(元素),向集合中添加一个元素,若不添加的是重复元素,则不报错,但无效果
pop(),随机删除一个元素
remove(元素),删除指定元素
没有修改元素的做法
clear(),清空集合
运算符
比较运算
运算符:
> >= < <=
1)a= =b 比较a和b是否相等
2)a!= b 比较a和b是否不相等
3)对象 is 对象 表示判断2个对象是否用一个对象
同一个对象的特点:对一个对象做变化,另一个跟着变化;id(对象)的值相等
4)a in 包含多元素的对象 表示判断a是否包含多元素的对象中的一个元素
列表、元组、集合、字符串;字典,表示键是否在该字典中
5)运算结果:布尔型
逻辑运算
运算符的优先级:
not(非)、and(与)、or(或)
1)a and b
口诀:前真则后,否在为前;1 and 10,返回10
2)a or b
口诀:前真则前,否则为后
3)0,空字符,空对象None等,作为False,其他判断为Ture
赋值运算
运算符:
1)简单 a=b
2)运算后赋值
a=a+b/a+=b
-=、*=、/=、//、**=
3)多重赋值
a,b=1,2 、a,b=b,a
4)连续赋值
x=y=z=[1,2,3]
条件分支 if
1)如果是…条件,则…,否则…
2)语法上要求if后的内容能表示逻辑上的真假即可,不限定任何形式
3)if 条件:语句
条件为真,则执行语句
4)if 条件:语句1
else:
语句2
条件为真,则执行语句1;条件为假,则执行语句2
5)if 条件:语句1
elif:
语句2
…
else:
语句3
从上到下, 条件为真,则执行对应语句;若是所有条件为假,则跳出else语句
循环结构
1)for 变量名 in 包含多个元素的对象:
变量依次从对象中获取值循环执行的语句
else:
循环取值结束后执行的语句
2)while 条件:
当条件为真时循环执行的语句
只要…条件,就不断…
执行顺序:a.判断条件是否真,真则执行,假则退出循环;b.重复步骤a.
为了避免判断永远为真:
a.循环执行的语句中有一句实现变量的变化
b.条件中使用到该变量
c.变量迭代赋值语句所有循环语句总位置的不同,会导致结果不同
d.避免死循环
for 的执行顺序:
1)变量=对象中第一个值,执行循环语句
2)变量=对象中第二个值,执行循环语句
……
3)变量=对象中最后一个值,执行循环语句