python基础学习
python的基本数据类型
- 数据类型是为了方便计算机读懂我们传达的意思,计算机并不像我们人类一样,你说“汉”是汉字,它读不懂你的意思,不知道你说什么。就像你娶了个外国老婆你跟她说中文她听不懂你说什么,但你和他说英语他就能get到你表达的意思,你们之间多是用英语交流。数据类型就是我们和计算机交流的语言。有了数据类型,你再向计算机传达指令,计算机也能get到你的意。你说汉字的‘汉’他就知道这是个字符串(str),你给个数字1它就知道是整型,至于计算机怎么翻译数据类型的就要提到”编码“,现在windows主要用的是”gbk“,Linux用的是”utf-8“,mac也用”utf-8“,至于编码详细在后面讲,现在开始进入数据类型,抓稳了!!别掉队了
1.int
-
- int 我们在所有的编程语言多叫它整型数据,跟它的名字一样整型即整型数据,比如1,2,3,-1223,43455,这些多是整型,int是他的关键字。
-
2.int的用法
-
int基本用法
-
#是python的单行注释,多行注释是"""""" a = 1 #在python中定义一个数据类型不要像c Java一样定义关键字 b = 2 #直接给它赋值就行了,系统会自动检测是什么类型 #这跟python语言定位有关'优雅','简单','明确' print(a,b)#1,2 -
#加 减乘除 取整 平方取余 print(1+4)#5 print(3-1)#2 print(2*0)#0 print(3/2)#1.5 print(3//2)#1 print(2**2)#4 print(1001%10)#1 取余
-
2.bool
-
1.bool的介绍
- 布尔值很简单,就两个值True(真),Fales(假),主要用来逻辑判断
-
2.bool的用法
-
a 等于2 b等于10 判断他们两个大小,如果为真就返回True,否则就返回Fales
-
a = 2 b = 10 print(a > b)#False print(a == b)#False print(a < b)#True
-
if while for
-
1.if的介绍与用法
-
if的介绍
- if又称为分支语句,比如一个小学生要去上学,路上有几条岔路,要判断那条是真正去上学的路,如果判断对了就能到达学校,否则就永远到不了学校,不知道去了什么鬼地方。
-
if的用法
-
if else
-
判断小学生是否真正的去学校了 s1 = '学校'
-
s1 = '学校' if s1 == '学校': print('安全到校,但迟到了被老师打屁股了') print('小学生:屁股疼!疼疼') else: print('没去学校,在田里玩泥巴去了') #运行结果安全到校,但迟到了被老师打屁股了 #小学生:屁股疼!疼疼 #我们用来一个生动形象的例子说明了if-else的用法,如果选的路径是正确的就安全到校 #否则就去另一条路去玩泥巴了
-
-
if elif else
-
if elif else 就是在if-else上增加了一条路径,我们可以无限的加,具体的要看你的需求,用if elif else来判断学生成绩该评什么等级,
-
fraction = int(input('请输入一个分数:')) if fraction > 90: print('成绩等级为:A') elif fraction > 80: print('成绩等级为:B') elif fraction > 70: print("成绩等级为:C") elif fraction > 60: print("成绩等级为:D") else: print('成绩等级为:F') #结果:请输入一个分数:75 #成绩等级为:C -
-
这里我们用了两个新知识点人机交互与类型转换,input()的意思就是输入的意思可以是字母,数字,字符,它默认的数据类型是字符串,就是不管你用input()输入什么多是字符串,所以我们把它强制转换为int
- 没有强制转换的时候
- 用int强制转换后
- ![(C:\Users\WLW\AppData\Roaming\Typora\typora-user-images\image-20200704164045126.png)
-
-
-
if elif elif
-
fraction = int(input('请输入一个分数:')) if fraction > 90: print('成绩等级为:A') elif fraction > 80: print('成绩等级为:B') elif fraction > 70: print("成绩等级为:C") elif fraction > 60: print("成绩等级为:D") elif fraction < 60: print('成绩等级为:F') #结果为请输入一个分数:50 #成绩等级为:F #这里只是把else 换成了elif #else 是否则的意思,就是前面的条件都不满足时就会执行else #elif 我们把低于六十分的也换成了一个条件,就没用else了 -
三目运算
-
三目运算就是简写的if-else
-
a = 5 b = 10 c = a if a > b else b print(c)
-
-
-
-
2.while的介绍与用法
-
生活中有许多循环的应用,比如:听歌,吃饭,睡觉等等多有循环的应用
-
while的用法
-
while 条件:#每次执行循环多会对循环条件进行判断,条件为真才会继续运行 循环体 #循环体就是我们要做的事情 循环体 -
what:while又叫无限循环?是的
-
while True:#只要条件为真就会一直循环,直到地老天荒可能它还在执行 print('hello python') print('hello 琉璃星') '''hello 琉璃星 hello python hello 琉璃星 hello python hello 琉璃星 hello python hello 琉璃星 hello python hello 琉璃星 hello python .... ''' -
用while 计算1-100所有数的和
-
count = 0 sum = 0 while count <= 100: sum += count #等价sum = sum + count count += 1 print(sum) #结果等于5050 -
continue break 的用法
-
-
flag = True while flag: print('刘亦菲') print('李知恩') flag = False continue print('李沁') -
break直接结束循环
-
while True: print('刘亦菲') print('李知恩') print('李沁') break -
循环运行到break会自动结束循环,也被人们称为‘跳楼循环’跳下去就没有了。
-
-
-
-
-
3.for 的介绍与用法
- for循环又称为有限循环也可以叫做遍历
- for循环每运行一次就会把str1里的一个值赋给i一次,当所有的值赋完,程序就会结束
-
逻辑运算
-
3.str
-
1.字符串(str)的介绍
-
python中用引号引起来的数据类型可以称为字符串类型。
-
c = '琉璃星' print(c)#琉璃星 #这个字符串由三个字符组成,'流','璃','星' -
字符串的切片
-
s1 = 'ABCDEF' print(s1[0])#A 字符串的下标是从0开始的 print(s1[1])#B print(s1[5])#F print(s1[-1])#F 索引5和-1多表示最后一个元素 #我还可以设置索引的步长 print(s1[:2])#打印A和B,顾头不顾腚AB print(s1[:])#打印全部元素 ABCDEF print(s1[-1::-1])#倒着打印字符串 FEDCBA
-
-
2.srt的基本操作
-
判断是否以什么开头或结尾
-
a = 'abcef' #startswith()判断以什么开头 ret1 = a.startswith('abc')# 可 切片 返回类型为布尔值 print(ret1) #endswith()判断以什么结尾 ret3 = a.endswith('cef',1,6)#判断1到6是以什么结尾的 print(ret3) -
split 以什么分割,最终形成一个list,此列表不含有这个分割的元素
-
S = 'hello python world' ret4 = S.split()#这里我们以空格分割,可以不写空格 print(ret4) #['hello', 'python', 'world'] s1 = 'helloapythonaworld' ret5 = s1.split('a')#这里我们以字符a作为分割符 print(ret5)#['hello', 'python', 'world'] -
strip 删除特殊字符
-
name = '*python**' print(name.strip('*'))#删除两边的 python print(name.lstrip('*'))#删除左边的 python** print(name.rstrip('*'))#删除右边的 *python -
replace 替换字符
-
#replace name='alle say :i have one tesla,my name is alle' print(name.replace('alle','SB',1)) -
#####is系列判断字符组成 name='oaiai123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdecimal()) #字符串只由十进制组成
-
4.list tuple
-
1.列表(list)的介绍
-
列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类
型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘琉璃星’,123,Ture,(1,2,3,’hello’),[1,2,3,’小明’,],{‘name’:’琉璃星}]
-
-
2.list 的基本操作
-
增
-
l1 = [1,2,3] l1.append(4)#在程序最后添加一个[1, 2, 3, 4] print(l1) l1.insert(0,'hello')#insert在任意位置添加元素['hello', 1, 2, 3, 4] print(l1) l1.extend('琉璃星')#在列表最后迭代增加 print(l1) #['hello', 1, 2, 3, 4, '琉', '璃', '星']
-
-
删
-
l1.pop(1)#通过索引删除元素 print(l1)#['hello', 2, 3, 4, '琉', '璃', '星'] l1.remove('hello')#通过元素名删除元素 print(l1)#[2, 3, 4, '琉', '璃', '星'] del l1[:2]#通过切片删除列表中的元素 print(l1)#[4, '琉', '璃', '星'] l1.clear()#清空列表 print(l1)#[]
-
-
改
-
l2 = [1,2] l2[0] = 'hello' #通过索引改值 print(l2)#['hello', 2] l2[0:1] = 'abcde'#通过切片改值 print(l2) #['a', 'b', 'c', 'd', 'e', 2] l2[::2] = '琉璃星'#通过步长来修改值 print(l2)#['琉', 'b', '璃', 'd', '星', 2]
-
-
查
-
通过for循环来遍历查找元素
-
l3 = [1,2,3,4] for i in l3: print(i)
-
-
-
列表嵌套
-
列表的嵌套只要搞清楚索引就行了,像剥洋葱一样,一层一层的剥,列表就是一层一层的找
-
-
l5 = [1,2,["hello",3,5,[6,7,'琉璃星',['a','b',9]]]] print(l5[2][3][3][2])# 9 l5[2][3][3][1] = l5[2][3][3][1].capitalize()#把b改成大写的 print(l5)#[1, 2, ['hello', 3, 5, [6, 7, '琉璃星', ['a', 'B', 9]]]]
-
-
-
3.元组的介绍
- 元组被称为不可变的列表
-
4.元组的使用
-
t1 = ('a','b',True,1) for i in t1 : print(i)
-
5.dict
-
1.字典的介绍
-
:咱们目前已经学习到的容器型数据类型只有list,那么list够用?他有什么缺点呢?
\1. 列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢。
\2. 列表只能按照顺序存储,数据与数据之间关联性不强。
所以针对于上的缺点,说咱们需要引入另一种容器型的数据类型,解决上面的问题,这就需要dict字典。
-
-
2.字典的基本操作
-
增
-
dic = {'name':'琉璃星','age':18} dic['sex'] = '男' #{'name': '琉璃星', 'age': 18, 'sex': '男'} print(dic) #通过键值直接添加 dic.setdefault('job','学生')#通过函数setdefault添加如果键值对有了就不添加没有则添加 print(dic)#{'name': '琉璃星', 'age': 18, 'sex': '男', 'job': '学生'} ret = dic.setdefault('name')#有返回值,但是只能通过键来返回值 print(ret)#琉璃星
-
-
删
-
dic.pop('name')#通过键来删除字典元素 print(dic)#{'age': 18, 'sex': '男', 'job': '学生'} dic.popitem()#删除字典最后一个元素 print(dic)#{'age': 18, 'sex': '男'} del dic['age']#通过键值来删除 print(dic)#{'sex': '男'} dic.clear()#清空字典 print(dic)#{}
-
-
改
-
dic = {'name':'琉璃星','age':18} dic['name'] = 'wei'#通过键直接修改 print(dic)#{'name': 'wei', 'age': 18} dic.update(sex= '男',height=165)#通过方法update() print(dic)#{'name': 'wei', 'age': 18, 'sex': '男', 'height': 165} dic.update([(1,'a'),(2,'b')]) print(dic)#{'name': 'wei', 'age': 18, 'sex': '男', 'height': 165, 1: 'a', 2: 'b'}
-
-
查
-
dic = {'name':'琉璃星','age':18} print(dic['name'])#通过键直接查,如果没有此键会报错 print(dic.get('name'))#琉璃星 print(dic.keys())#dict_keys(['name', 'age'])得到所有的键 print(dic.values())#dict_values(['琉璃星', 18])得到所有的值 print(dic.items())#dict_items([('name', '琉璃星'), ('age', 18)])
-
-
讲到这里就结束了,你都学废了吗?加油!学习要持之永恒,今天比昨天努力一点,明天比今天努力一点就这样while True 下去吧。本人小白一枚有讲的不好的地方请多多包含,讲错的地方请批评改正,最后祝大家在编程这条‘不归路’越走越远。加油,相信自己!

浙公网安备 33010602011771号