找回密码
 会员注册
查看: 30|回复: 0

手撕python之基本数据类型以及变量

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-12 10:15:31 | 显示全部楼层 |阅读模式
​​​​​​1.基础概念python就是将不同的数据划分成了不同的类型就像我们生活中的数据有数字、字符等数据一样小知识点:注释:#全体注释:Alt+F3取消注释:Alt+F42.数值类型数值类型概括数值类型分为三种:整型int浮点型float布尔型bool整型:123456浮点型:1.13.14159265.20布尔型:TrueFalse我们在交互模式中输入type(数据)就能显示你所输入的数据的类型type能够在交互模式查看数据类型type在交互模式的用法:123type(123)type(1.5)type(True)在括号内输入你想判断的数据,直接回车就能返回这个数据的类型对于交互模式中bool值的判断:1232>1True12False输入我们要判断的表达式,然后系统会对这个表达式进行判断,返回对应的bool值注意我们这个的bool类型的两个值True和False开头的字母一定要是大写的,否则是会报错的为什么这个布尔值是属于数值类型呢?#为什么这个布尔值是属于数值类型呢?#我们在交互模式使用True+1就输出了一个2#使用False+1就是输出的是1True+12False+11实际上False表示的是0True表示的是1我们在交互模式利用上述的加法就能判断出这个结果所以我们的True除了表示真,还能表示1False除了表示假,还能表示0算术运算符在我们的python中,True和False同时也代表着1和0,我们可以直接进行运算True+False=1对于表中的两个操作符:/和//一个/的话就是编译器会进行小数的保留两个//的话就是编译器会将小数部分删除,仅仅只保留住整数部分对于%这个运算符的话,10/3=3….1那么这个1就是10%3的结果,就是余数运算符使用方法:2*3610**210010/33.333333333333333510//3310%31我们的所有运算符符号一定要用英文符号我们在进行算术运算中,只要我们的连个数据中一个数据是浮点数的话,那么结果一定会是浮点数的一个数据是浮点数,结果一定是浮点数的:10//3.03.010//2.05.0只要有浮点数参与运算,那么结果一定是浮点数对于负数进行呢取整以及其他的操作:-10//5-2-10/3-3.3333333333333335-10//3-4如果我们是对负数进行取整的话,假如-10//3=-4因为我们进行取整的话就是比原先不取整的值小一些不管是整数还是负数都一样,取整就直接将小数部分剔除了取余%--两数相处,商为余数,取余数部分幂运算*就是几次方*102=100-10%32-10//4-3为什么-10%3得到的是2呢,因为%是进行求余数的操作的我们的-10//4=-3我们这里是直接取整的,后面剩下的我们没要直接舍去但是-4*3=-12就是说明我们的余数是2,被丢弃的那一部分是2那么我们的-12+2=-10那么-10%3=2所以说负数取余数的话是有技巧的就是-12",line1,inpythonNameError:name'python'isnotdefined#如果不加引号就是会报错的'python''python'"python"'python'如果我们在交互模式直接输入python这串字符的话,那么是肯定会报错的我们需要将这串字符用引号包裹起来如果我们不用引号括起来的,那么编译器就会以为这个是一个名称,就会检查我们这个名字有没有定义过,没有定义是一定会报错的如果是文本数据的话,我们一定要用引号括起来的,不然是会报错的英文和中文的引号是不一样的我们需要的是英文版本的引号我们利用type()来进行数据类型的判断,这里编译器输出的是str就是字符串字符串类型的判断:type('python')type("python")type('123')单引号和双引号本质上是没有多大的区别的我们在交互模式输入"python"和'python'输出的结果都是'python'引号是对应匹配的单引号对单引号双引号对双引号单引号带来的错误:'I'amfineSyntaxError:invalidsyntax#我们如果是这么写的话那么就会报错的#因为单引号和双引号是成双成对的进行配对的对于这个单引号带来的错误如果我们的句子里面已经有单引号的话,那么我们是需要用双引号进行括起来的如果我们还是用单引号的话,那么因为匹配的问题我们后面的那个单引号就没有配对成功了,就会报错所以我们是需要进行一个双引号的包裹的"I'amfine"#回车"I'amfine"双引号和双引号匹配成功,那么中间的内容就会被括起来的,那么我们编译器就将中间的内容进行输出'thisis"box"''thisis"box"'引号是成对出现的,就近匹配的单包双,双包单•单引号和双引号区分的原因:为了嵌套【引号里面还有引号】使用,如果有这种情况,需要使用两种不同的引号三引号使用时注意事项三引号三对单引号三对双引号'''dsadddfkdsbfkjdasdas'''"""dsadddfkdsbfkjdasdas"""我们使用三对单引号的话我们是能够实现任意换行的直接将大型的文本进行注释包裹在三引号之内的我们能随意换行进行注释只有三引号能实现换行的操作单引号和双引号是不能实现这个操作的字符串加号和星号数字+数字---相加字符串+字符串--拼接字符串的+法使用:#交互模式'2'+'3''23'2+35字符1+字符1得到的就是11就是相当于拼接数字*数字---两个数字进行相乘字符串*正整数---字符串重复多少次字符串的*的使用:'5201314'*6'520131452013145201314520131452013145201314'4.格式化三种格式化%格式化语法:'格式化的字符串'%(填充的数据)占位符:我们需要在字符串里面占一个位置,用于放后面填充的数据三种占位符:%s字符串%d整数%f浮点数print('你的成绩是%f'%(12.4))通过字符串内的占位符,然后我们在字符串外面输入我们要填充的数字对于%f的话我们这里默认是6位小数如果我们是想进行小数位的控制的话,那么我们需要在%和f中间加上.n保留几位小数,这个n就是几设置小数位的方法:#设置小数位print('你的成绩是%f'%(12.4))#默认保留6位小数print('你的成绩是%.2f'%(12.4))#我们将其设置为2位小数设置长度,超过我们设置的长度我们就不进行处理如果没有超过我们设置的长度的话,我们就进行填充处理默认的话是填充空格的我们可以使其填充的数字是0一般是不填充符号类的#编辑模式print('%3d'%(1))print('%d'%(1))#交互模式11#可见的区别如何将不足长度的地方设置为0呢?我们在%3d前面加上0那么不满足长度的地方就会自动填充为0了只有长度不够的时候才会进行填充的我们在表达num1+num2的结果的时候我们也是能用占位符的输出数字+数字=和的格式:#编辑模式num1=eval(input("请输入数据1:"))num2=eval(input("请输入数据2:"))##print(num1+num2)#我们使用格式化进行表示最终的结果print('%d'%(num1+num2))print('%f+%f=%f'%(num1,num2,num1+num2))#每个占位符和数据进行对应的#交互模式请输入数据1:5请输入数据2:6115.000000+6.000000=11.000000在这个表达式中对于%f那行代码的另一种写法print('%s+%s=%s'%(num1,num2,num1+num2))#我们直接将这个%f替换成%s就行了#交互模式5+6=11为什么我们能进行代码中这么交换呢?就是我们将这个代码中三个占位符对应的数据先转换为字符串然后在打印的时候我们就能通过print将引号去掉了但是还是不建议这种写法如果是写%f的话,我们在前面加上.n进行小数位的控制'%d'%(数据)foramt占位符语法:'格式化的字符串'.format(填充数据)一定要看清楚format前面有个小数点,别忘了加占位符:{}设置小数位数::.nf---保留n位小数这里是冒号+点+nf冒号的作用就是区分数据和格式的format使用方法:#编辑模式print('你的大小是{:.2f}'.format(12.4))print('你的大小是{:03d}'.format(1))#交互模式你的大小是12.40你的大小是001一定要在花括号里面写冒号输出数字+数字=和的格式#编辑模式num1=eval(input("请输入数据1:"))num2=eval(input("请输入数据2:"))print('{}+{}={}'.format(num1,num2,num1+num2))#交互模式请输入数据1:5请输入数据2:55+5=10'{:,nf}.format()'f表达式这里的f是format的缩写占位符:{}语法格式:f'{格式化的数据}'保留n个小数:#编辑模式print(f'{1:.2f}')#打印1保留两位小数#冒号的作用是分割数据和格式#交互模式1.00'f{格式化的数据:,nf}'设置数据长度,不足填充数据,超过不做处理#编辑模式print(f'{1:05d}')#交互模式00001输出数字+数字=和的格式#编辑模式num1=eval(input("请输入数据1:"))num2=eval(input("请输入数据2:"))print(f'{num1}+{num2}={num1+num2}')print(f'{num1:03}+{num2:03}={num1+num2:03}')#交互模式请输入数据1:5请输入数据2:65+6=11005+006=011对于花括号中的冒号的话,我们如果对数据有要求的话我们是能对其在冒号后面进行要求的比如说在冒号后面加03d如果没有要求的话我们是可以直接在花括号里面写个数据就行了这三种方法中我感觉f表达式是最简单的格式化小题目1.键盘输入用户名,键盘输入密码,将用户名和密码信息进行格式化输出格式为:'用户xxx你好,你的密码为xxx'#编辑模式name=input("请输入你的姓名")code=input("请输入你的密码")print('%s你好,你的密码是%s'%(name,code))print('{}你好,你的密码是{}'.format(name,code))print(f'{name}你好,你的密码是{code}')#交互模式请输入你的姓名kyk请输入你的密码666kyk你好,你的密码是666kyk你好,你的密码是666kyk你好,你的密码是6662.键盘输入用户电话,以及话费,用格式化进行输出了tel=eval(input("请输入你的电话"))money=eval(input("请输入话费"))#因为我们这里输入的money是一个字符串,我们是不能对其小数位作调整的,不然是会报错的#如果想要调整话费的小数点位的话,我们需要将我们输入的数据转换为浮点型print(f'用户:{tel:013d},你这个月的话费为{money:.2f}')#经过打印我们知道如果我们是字符串的话,长度不够的情况下,是在右边进行补空格的操作的#那么我们将这个字符串类型进行改变,改成整形的话,那么填充的数字就是左边#我们指定长度为13位,不满的话就填充0关于不同类型对齐的知识字符串在打印的时候长度不够的时候是在左边进行空格填充的操作的整型就是在右边进行填充那么我们如果进行数据在打印的时候的对齐方式呢?我们可以在打印的时候使用对齐符左对齐,右边填充居中,两边填充^那么是如何使用这三个符号呢?字符串对齐符号的使用方式:#字符串类型在右边填充,整形类型在左边填充#设置填充数据的对齐方式----填充符对齐方式长度->0print(f'{num:>5}')#居中^print(f'{num:0^5}')#左对齐就在右边填充0,右对齐就在左边填充0,数据居中对齐就是在两边填充0填充符对齐方式长度->0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 00:26 , Processed in 0.676997 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表