00.可以直接到幕布,查看详细代码片段及运行结果
点击查看,详细代码片段及运行结果
0.本文结构脉络图
1.Python环境搭建
参考这篇文章
2.Python初始印象
2.1缩进:python有着严格的缩进要求
tab缩进,shift+tab反缩进
enter键确定下一行正确的输入位置
2.2变量与常量
【0】变量Python的变量类型是由变量值决定的
和Java,C语言等不同,Python定义变量直接写,不需要指定变量类型,赋值后才知道变量类型
【1】Python语句最后不需要加分号作为结尾,Python语句是以换行为语句皆为
【2】变量命名和C语言类似,变量名以字母、数字、下划线组成,但不能以数字开头
【3】不能只使用关键字命名(例如,list_w,str3,tuple_是可以,直接list,str,tuple是不行的)
#给变量赋值为数值100,则num为整型
num = 100
#给变量赋值为字符创'100',则num为字符串类型
num = '100'
常量:例如数学中的圆周率π,上面例子中赋值给变量num的100,'100'都是常量
2.3注释、单引号与双引号
注释快捷键:Ctrl+/
单行注释
#这是单行注释
#这
#是多个
#单行注释
多行注释:【注意】多行注释和多行字符串一样,注意区分
"""
这是
多行
注释
"""
'''
这也是多行注释
'''
单引号和双引号混用:一定要嵌套分隔使用
2.4输入、输出、占位符
输入:input()
输出:print()
占位符:%d,%s,%r 分别代表整型,字符串类型,任意类型
2.5方法定义与调用
#定义
def function_plus(a,b):
print(a+b)
#调用
function_plus(2,3)
#运行结果
5
2.6类和对象
类:具有相同特点的一类事物
对象:对象是类的实例
2.6.1类和对象的关系
【1】类是对象的抽象化,对象是类的具体化
【2】类和对象的关系是相对来说的
【3】对于面向对象的语言来说:万物皆对象
2.6.2类的创建,对象的实例化,类的方法的调用
类名的写法遵循驼峰命名法(例如:AbcDef),不指定继承类,就默认继承基类object,一个类中一般定义多个方法,方便调用管理
#定义一个名为PrintSometing的类,包括两个方法print_a(),print_b(strx),一个带参数,一个不带参数
class PrintSometing(object):
def print_a(self):
print('改革春风吹满地,')
def print_b(self,strx):
print('strx人民真争气!' %s)
#实例化一个对象laowang
laowang = PrintSomething()
#通过老王这个已经实例化的对象,就可以调用类PrintSomething中定义的方法了
laowang.print_a()
laowang.print_b('中国')#这里传入字符串'中国'
#运行结果
改革春风吹满地,
中国人名真争气!
2.7条件、循环语句
if else,while等条件语句
【注意】Python并没有do while循环,也没有switch case条件判断
2.8循环中断break,continue
break:直接跳出整个循环
continue:结束当前这一次循环,开始下一次循环
2.9异常处理
try:
#可能出现异常执行的代码
except:
#出现异常后执行的代码
finally:
#不管有无异常都会执行的代码
3.序列
3.1列表list[]:有序,长度,内容可变
点击查看,详细代码片段及运行结果
#-------------------------------创建列表------------------------------------------
numlist = [1,99,0]
mixlist = [1,'2','aa','中国']
mixlist1 = [0,[1,100],(9,0,"xx"),100]
#-------------------------------输出列表-------------------------------------------
print(numlist)
#-------------------------------常用方法-----------------------------------------
list.sort() #排序,只能对列表元素是纯数字类型的列表排序,默认升序
list.reverse() #反转,位置颠倒,与大小排序无关,并不按大小排序
list.insert(i,x) #插入,i表示插入的位置(索引),x表示想要插入的值
list.copy() #复制
list1.append(list2) #追加,将list2作为一个整体,追加到list1后面
list1.extend(list2) #扩展,将list2中的元素逐个加入到list1后面
list[i] = x #将索引为i的元素的值改为x
list[i,j] = x,y,z... #根据区间(左闭右开)批量更改多个元素的值
del list[i] #删除下标为i的元素
list.clear() #清空列表,但保留了列表的格式(数据类型)
3.2元组tuple():有序,长度、内容【不】可变
元组,这里做个了解就好,不深究
#-------------------------------创建元组------------------------------------------
nu_tuple = (1,'100',"哈哈")
#-------------------------------输出元组------------------------------------------
print(nu_tuple)
3.3字符串str'':有序,长度、内容【不】可变
点击查看,详细代码片段及运行结果
#-------------------------------创建字符串------------------------------------------
str1 = '10000'
#-------------------------------输出字符串------------------------------------------
print(str1)
#-------------------------------常用方法---------------------------------------------
str(object) #将其他类型变量,强转为字符串类型
num = 10
str(num) #这时的num就变成了字符串类型
#替换所有符合要求的内容,例如:"hello".replace(l,x)将hello中所有的l替换成x
str.replace(old,new)
#【这里有一个深坑】那原来存“hello”的字符串变量的值是不是变成了“hexxo”?
#答案是不会,它的值还是“hello”,为什么呢?因为字符串是【不可变序列】,无论如何改变不了它原有的值
#replace()方法改变的只不过是一个原字符串的副本,副本会变成“hexxo”
str.capitalize() #将字符串首字母变成大写,其他非首字母有大写的全部变成小写
str.split('分割符') #按分割符拆分字符串,例如'hello world !'.split('o'),将这个字符串按字符o分割成3段
'拼接符'.join(list) #jion()拼接方法,将某些字符串按拼接符连接起来,例如''.join(['h','ell','o']),就是用null来连接三个字符串元素,结果为“hello”
str.upper() #将字符串全部变成大写
str.lower() #将字符串全部变成小写
str.startwith('xx') #返回布尔值,字符串是否以xx开头
str.endwith('xx') #返回布尔值,字符串是否以xx结尾
str.isnumeric() #返回布尔值,字符串的值是否是纯数值类型(例如,'100'就是纯数值型字符串)
str.isalpha() #返回布尔值,字符串的值是否是纯字母类型
3.4序列的通用操作:主要是查询相关的操作
点击查看,详细代码片段及运行结果
存在性(in,not in )返回布尔值
print('h' in 'hello') #True
print('he' in 'hello') #True
print(0 not in [2,4,0,'hello']) #False
print([1,2] not in [1,2,3,4]) #True
print('开挂' in ('没','有','开挂')) #True
访问指定范围[]
print('hello'.[1]) #e
print('hello'.[1:3]) #el
print([1,2,'xx','哈哈',100,'99'][2]) #xx
print([1,2,'xx','哈哈',100,'99'][2:5]) #['xx','哈哈',10]
序列连接(+)
print([1]+[2,3]) #[1,2,3]
print((1,2)+(3,4)) #(1,2,3,4)
print('hello'+' '+'Python') #hello Python
长度len()
print(len('python')) #6
print([1,2,'python']) #3
最大值max()、最小值min()
print(max('python')) #p
print(max('p','y','t','h','o','n')) #p
print(max([1,100,0])) #100
#最小值类似,值得注意的是,相同类型的值比较才有意义,例如:数字1和字母x比较就没有意义
求和sum(),只针对整型(数值类型)
print(sum([1,2,3])) #6
print(sum(1,100)) #101
元素在序列中第一次出现的位置(索引),index(subelement)
print('helloele'.index('e')) #字母e第一次出现的位置下标,1
print([1,'0','x','xx'].index('x')) #2
统计值相同的元素出现的次数count()
print('hello world!'.count('o')) #统计字母o出现的次数,2
print([1,233,4,0,1,23,1].count(1)) #3
3.5序列中的数据类型转换
点击查看,详细代码片段及运行结果
查看顺序:序列——序列中的数据类型转换
#-----------------------数据类型查看type()----------------
print(type(0)) #
print(type('0')) #
print(type([0])) #
print(type((0))) #
print(type({})) #
#以下4种转换直接去幕布查看吧,链接在上面
#-----------------------tuple -----> list :list(tuple)----------------
#-----------------------list -----> tuple :tuple(list)----------------
#-----------------------list -----> str :str(list)----------------
#-----------------------str -----> list : list(str)----------------
4.映射
点击查看,详细代码片段及运行结果
查看顺序:映射
4.1创建方法
查看顺序:映射——创建字典
4.2常用方法
查看顺序:映射——常用方法