我们可以打开电脑的“开始”菜单,如图搜索“python”,选择标记的应用
你会看到这样一个窗口。
在这个窗口输入下面这行代码,看看有什么变化。
'你好,我是测试划水老师傅!'
如果第一次学习Python,这个语法错误,大概率是你的第一次,不用慌,不会英语没关系,百度翻译下。
是不是很简单,所以遇到报错不要害怕,也不需要去问别人,先尝试自己解决问题,会更有成就感和坚持下去的信心。
当然还有同学会犯这样的错误,自己学会百度下,如果你找到问题并解决,可以发在评论区。
操作符 | 操作 | 举例 | 结果 |
---|---|---|---|
** | 指数 | 3 ** 2 | 9 |
% | 取模/取余数 | 33 % 2 | 1 |
// | 整除/商数取证 | 33 // 2 | 16 |
/ | 除法 | 33 / 2 | 16.5 |
* | 乘法 | 3 * 2 | 6 |
- | 减法 | 3 - 1 | 2 |
+ | 加法 | 3 + 1 | 4 |
Python数学操作符的“运行顺序”(优先级),与数学类似。
你可能会遇到这个错误,百度翻译告诉你报错信息为“无效语法”。表示你的代码不符合语法规范。
数据类型 | 举例 |
---|---|
整型 | 0、1、2、3、-1、-2 |
浮点型 | 0.0、1.1、2.25、3.10、-1.01、-2.02 |
字符串 | ‘a’、‘aaa’、‘你好,测试划水老师傅!’、“学习+努力=成功”、’ '、“” |
你可能会发现,字符串内我会有两种引号:‘’、""其实没有区别,选择一个个人习惯使用就可以。
如果你少输入一个引号,会出现下面这个错误。
学完上面的内容,问问自己:
“数据类型”是什么?
为什么编程中,要定义“数据类型”?
所以,你有没有想过类似这些问题?
我的结论:
- 无疑,这是创建这门语言作者,制定的一种规范。(尽管他参考的是已有语言,所以我们常说,编程语言是相同的)
- 规定了数据的存储范围。
- 规定了数据的操作方式。
- 这样的规范,提高了程序运行的可靠性、效率。
Tps:Python所有数据类型,已经放在资源文件《快查字典》中,方便查看。
大家已经学习了解了字符串,也了解到了运算符,如果学到这里,我希望大家养成一个**“试错”**的学习习惯。
想一想:
如果在字符串数据后,用符号“+”上其他字符串会有什么变化?
如果在字符串数据后,用符号“+”上其他非字符串类型,比如数字,会有什么变化?
如果在字符串数据后,用“加减乘除”等符号又会有什么变化?
示例如下:
字符串与字符串之间,用“+”号,表示拼接关系,将两个字符串拼接为“1个”字符串显示。
如果拼接的是“数字”,则会报错!表示字符串不能和数字进行拼接,因为数据类型不一致。
如果拼接符号写成“减号”,报错信息很明确的告诉你,不支持这样的操作方式,包括“**、/、//”,都不支持参与字符串类型的操作。
还剩下最后一个运算符”*“,试试看,我们会发现将字符串乘以“N”次进行显示。
但是,如果你天真的以为,可以将字符串与字符串用“*”进行计算,那一定会报错,报错就留给你自己百度。
总结:
- 通过这么多的试错,我们发现,对于代码的理解,其实没有那么玄学,与现实的数学、事物思维其实大致相同,一个字符串,可以“拼接”,可以“复制”,这些就算没有代码,我们也能想出来具体的样子,但是如果是一个“-”号,我是实在想不出来结果是什么样,所以代码也同样无法解决人类无法理解的事物。
- 遇到报错千万别慌,百度下,能够解决你90%的问题。
Tips:更多字符串的复杂操作,我们会有专门的章节讲解,当然也会将一些常用方法,放在《快查字典》内。
“变量”,其实很好理解。
用计算器内存来理解:
假设计算机内存中有若干个抽屉,并被编号“a,b,c,d,e”,而这个抽屉可以放任意数据。假设你在a抽屉存了一个值“测试划水老师傅”,那么想要用这个值,只需要用这个编号“a”就可以表示。
用现实场景来说:
大家都做过数学题吧。
a = 1
b = 2
请问:a + b = ?
答案是“3”,肯定不会是“ab”吧,所以参与计算的是其实是a,b代表的数值。
用“=”赋值符号,将值保存在一个变量,比如:Length = 3 和 width= 3。
我们在交互环境中计算它的面积:
Length = 3
width= 3
Length * width
如果上面的内容你已经理解,可以更专业些理解变量的存储。
Python中,值是靠引用来传递,可以用方法id()来判断两个变量是否是同一个值得引用。可以将id的值理解为存储内存的地址标识。
注:print() 函数在Python中,表示“输出”的意思,后面的章节会详细介绍。
a = 10
b = a
print(f'a的值{a}')
print(f'a的内存地址{id(a)}')
print(f'b的内存地址{id(b)}')
"""run:
a的值10
a的内存地址1576429158928
b的内存地址1576429158928
"""
变量也是可以交换的。
a = 10
b = 20
"""
方法-1:借助第三变量存储数据
1.1 定义中间的第三变量,为了临时存储a或b的数据
1.2 把a的数据存储到c, 进行保存。
1.3 把a的数据赋值到a, a = 20
1.4 把c的数据赋值到b, b = 10
"""
c = 0
c = a
a = b
b = c
print(a)
print(b)
"""
方法-2:更简单优化,推荐使用这种。
"""
a, b = 10, 20
a, b = b, a
print(a)
print(b)
"""run:
20
10
20
10
"""
变量名其实和现实事物的命名一样,最重要的是“规范(见名知意)”,这个我英语也不好,所以都是百度。
我建议,从一开始,养成一下3点变量的书写规范原则:
有效的变量名 | 无效的变量名 |
---|---|
my_name | my-name(不允许短横线) |
myname | my name(不允许空格) |
name1 | 1name(不允许数字开头) |
_1(除非必要,不建议纯数字命名) | 1_(不允许数字开头) |
YOUR_NAME | YOUR_ N A M E (不允许 NAME(不允许 NAME(不允许等特殊符号) |
name | ‘name’(不允许’'这样的特殊字符,大家刚学过,这属于字符串类型数据) |
Tps:Python变量、类等所有需要注意的命名规范,已经放在资源文件《快查字典》中,方便查看。
写程序之前,我们一直在用交互式环境编写和运行一条Python指令,但如果要编写一段完整的Python程序,我们需要在文件编辑器(记事本、Notepad++)或者PyCharm这种专为写Python代码的软件上写。
之前第一章,已经交给大家安装PyCharm以及创建工程的方法,现在我们就开始用起来吧!
首先,我们在文件夹内创建一个py文件,如图所示。
输入下面的代码:
# 程序:介绍自己。
print("你好,朋友!")
print("请告诉我,你叫什么?")
you_name = input()
print("很高兴认识你," + you_name + "!")
print(len(you_name))
print("你多大啦?")
you_age = input()
print("今年" + str(int(you_age)) + "岁。")
右键运行代码,根据提示,在控制台输入内容。
下面这个一行内容,表示“注释‘
# 程序:介绍自己。
注释内容,程序运行时会忽略掉,你可以理解为程序员写在”程序里的备忘录“,只提示不参与运行的内容。
甚至有时候不想运行一段代码,程序员会在这行代码前加上注释符号”#“。
如果你不想注释,去掉“#”这个标记就好。
print()函数,会将括号内的字符串,输出在“屏幕(控制台)”上。
print("你好,朋友!")
print("请告诉我,你叫什么?")
你会发现,被输出的内容,是不包含“引号”的。
如何将输出的效果更美化?(格式化输出)
"""
1. 准备数据
2. 格式化符号输出数据
"""
age = 18
name = "Kevin"
weight = 75.5
stu_id = 13
# 1. 今年我的年龄是x岁。
print("今年我的年龄是%d岁。" % age)
# 2. 我的名字是x。
print("我的名字是%s。" % name)
# 3. 我的体重是x公斤。 %1f 表示保留1位小数
print("我的体重是%1f公斤。" % weight)#我的体重是75.500000公斤。
print("我的体重是%.1f公斤。" % weight)#我的体重是75.5公斤。
# 4. 我的学号是x。(要求,输出000000013),
print("我的学号是%d。" %stu_id) #我的学号是13。
print("我的学号是%08d。" %stu_id) #我的学号是00000013(%08d不足8位,以0不全,超出当前位数则原样输出)
# 5. 我的名字是x,今年x岁了。
print("我的名字是%s,今年%d岁了。" %(name,age))
# 5.1. 我的名字是x,今年x岁了,明年x岁。
print("我的名字是%s,今年%d岁了,明年%d岁。" %(name,age,age+1))
# 6. 我的名字是x,今年x岁了,体重x公斤,学号是x。
print("我的名字是%s,今年%d岁了,体重%.1f公斤,学号是%08d。" %(name,age,weight,stu_id))
在Python3.6版本之后,更推荐f-string的输出方式,更易懂。
"""
1. 准备数据
2. 格式化符号输出数据
"""
age = 18
name = "Kevin"
weight = 75.5
stu_id = 13
print(f"我的名字是{name},今年{age}岁了,体重{weight}公斤,学号是{stu_id}。")
转义字符“\”
# 换行符 \n
print("第1行:测试划水老师傅。\n第2行:天天在摸鱼!")
# 制表符 \t (tab)
print("第1行:测试划水老师傅。\t第2行:天天在摸鱼!")
# \\ "\"字符
print("第1行:测试划水老师傅。\\第2行:天天在摸鱼!")
# \'字符 单引号
print("第1行:测试划水老师傅。\'第2行:天天在摸鱼!")
#\t:制表符,一个tab键(4个空格)的距离
print("A\tB\tC\tD\tE\tF\tG")
结束符
print("Hello",end="\t")#结束符
print("World")
#Hello World
input()函数,等待用户在键盘上输入文本,并回车按键确认。
you_name = input()
you_name = input()
print("很高兴认识你," + you_name + "!")
通过变量“you_name”存储并接受你通过“input()”键盘输入的内容,通过print()函数打印出来。
可以获取一个“字符串”的长度:
你会发现一个很有意思的效果,函数的统计长度,与“中英文”无关,并且包含“特殊字符,比如空格”,如果没有任意字符长度为“0”。
这些函数,会将数据,处理为不同类型的数据。
还记得前面我们在聊基础数据类型时的一段代码吗?
print("你好,测试划水老师傅!" + 2) #会报错
因为我们将两个不同数据类型进行操作,会导致出错,此时我们使用“str()”函数更改下代码,看看会发生什么效果:
print("你好,测试划水老师傅!" + str(2))
控制台不再报错。
同理,我们看一个搞笑的乌龙。
求“1+2”的“和”,怎么变成了“12”?
之前我们有说“input()”会将接收的输入,以“字符串”的数据类型存储,所以我们需要将代码改动如下:
rint("请输入任意两个数字,求和:")
num_1 = input()
num_2 = input()
print(int(num_1) + int(num_2))