大一在学c的同时学习一下python,机器人的梦想🐛🐛🐛
这里得感谢@风变编程
一、print函数、input函数和变量
在学习编程语言之前,先用一张图解决一下计算机的工作原理
eg:
刚才,虽然只是输入了一个简单的print,但在背后,这段Python代码却帮我们做了这样的一些事情:(0)我们向计算机发出指令:“打印‘520’”;(1)Python把这行代码编译成计算机能听懂的机器语言;(2)计算机做出相应的执行;(3)最后把打印结果呈现在我们面前。
👇开始学习print
print()函数的用法有以下几种:单枪匹马——不带引号、搭配单引号、搭配双引号、搭配三引号。
相应地,在括号内没有引号的情况下,我们应该往括号内放入计算机能够“理解”的内容,如:数字或数学运算。此时,print函数会让计算机尝试去“读懂”括号里的内容,并打印最终的结果。因此,当计算机读懂数据数字后,就打印这个数据。当读懂数字运算后,则打印得到运算结果。
计算机的脑回路比较特别:只能理解数字,却读不懂文字。因为数字和数学运算是标准化、有固定格式的,而文字却能够千变万化,如果你直接让计算机print(我爱你),它会一脸懵并大声报错:“这三个字啥意思,你没有定义清楚,不懂诶……”,然后给你一个大大的bug。
同样的,在正式敲代码之前,必须切换成英文输入状态,保证print()函数的括号是用【英文括号】,不然会报错😢。【切换英文输入的Tips:Mac系统请按command+空格键切换中英文输入,Windows系统请按ctrl+shift键切换中英文输入】
当括号内有引号的时候,就相当于告诉计算机——你不需要执行多余的操作,我输入什么,你就打印什么。
在print()函数内不仅能使用单引号,还能使用双引号,两者的效果没什么区别,都能让你打印出一行文本。【注意⚠️:双引号是英文输入法下的双引号,而不是两个单引号!】
除了三引号以外,我们还能用转义字符\n来实现换行,👇是常见的一些转义字符
计算机能够读懂的数据除了数字或数学运算外,还有变量。
变量的赋值👇
除了简单的a=%d之外,我们还可以利用input函数实现人机交互,但是input有一个要注意的地方👇
对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串『隐形斗篷是我最想拥有的魔法』,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。(Python3固定规则)
二、数据类型与转换
python里的数据主要有三种👇
在计算浮点数时,计算机会把十进制的浮点数转化为二进制,在这个过程中,计算机难免会出现误差,eg:
在0.85的尾巴上多了一个1,这是因为,Python计算浮点数时,会先把0.55和0.3转化成二进制数。
Python里的整数、浮点数和数学意义的整数、小数是一样的,它最重要的作用是与运算符号结合,进行数学计算。python里常见的运算符有👇
python里的运算顺序是和现实世界一样的,从左往右,括号先,乘除先。
那字符串的运算是什么样的?
输出是这样的:
但是在进行字符拼接的时候,有一点需要注意
⚠️’+‘的拼接只适用于同类型的数据,例如:str+str✅ str+int✖️
当面对更为复杂的命令时,我们无法确定某个变量是用什么数据类型写的,这时候type()函数应运而生。
那如果想把int转换成str类型的数据的时候我们怎么办呢?
here comes 数据转换magic
这里有一点需要⚠️:str类型的浮点数是不能转化为整数类型的,需要先把字符串类型的浮点数转换成float类型,然后才能利用int()抹零取整。
eg:int(‘113.3’)= 113✖️
‘113.3’==》 float(‘113.3’)=〉int(float(‘113.3’))
用一张图总结一下
三、条件判断与嵌套
在python里面常见的条件判断是if👇
和其它程序设计语言(如 Java、C 语言)采用大括号{}分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。一般来说,相邻层级一般以四个缩进即一个tab键来区分。eg:
四、列表、元组和字典
就我而言,元组在python里面是比较少出现的,它跟列表(list)的最大区别就是它的不可更改性,列表的元素是可以删减的,而元组(tuple)的元素是不可更改的,包括他们的顺序和值。当然,元组是用括号定义的,这个才是最大的区别哈哈。eg:(1,2,3,4,5)
列表函数的调用格式一般是list.函数(object’要附加的元素’)或者【site‘要修改的元素在列表中的位置即偏移量’】
这里有一点,就是列表的顺序是从左往右,从0开始,最左端的位置是0,而从末尾开始数的话,最右端的元素也可以用-1来表示,从右往左依次是-1,-2,-3.。。。。。
列表的顺序有这么一句话我挺喜欢的,就是
什么意思呢,举个🌰吧
可以看到,冒号左边是空的,所以要一直取到偏移量为0的小明,冒号右边的是2,所以要从偏移量0一直取到1(因为2是在右边的,所以不取2)
如果是print(students【0:】)那么输出的就是小明,小红,小刚(因为0是在左边的,所以0所在的小明也要取)
字典的样子是👇
字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符
而不一样的有两处:1.列表外层用的是中括号[ ],字典的外层是大括号{ };
2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如’小明’:95,其中我们把’小明’叫键(key),95叫值(value)。这样唯一的键和对应的值形成的组合,我们就叫做【键值对】。从字典中提取对应的值的用法。和列表相似的是要用[ ],不过因为字典没有偏移量,所以在中括号中应该写键的名称,即字典名[字典的键]。这里需要强调的是,字典中的键具备唯一性,而值可重复。如果不小心声明了两个以’小明’为键的【键值对】,后出现的【键值对】会覆盖前面的【键值对】。
字典和列表最常见的增删减方式比较相似👇