(一)Python语法基础(上)
1.第一行Python代码
print('hi!世界')
开始体验你的第一行Python代码:在Jupyter Notebook或Pycharm的代码编辑框中输入以上代码,点击运行,在控制台能够正确输出hello world!即可。
(注意大小写、括号和引号是英文的)
2.输出输入函数
2.1输出函数
①函数语法及作用
在第一行代码中,用到了print(),这其实就是一个输出函数,或者叫做打印函数。
在使用函数的时候需要指明函数名以及英文小括号(),以及括号里面的一些内容,在第一行代码中,函数名就是print,使用print()之后可以输出括号里面的内容,这个是输出函数的功能。
所以我们了解一个函数,需要知道三个内容:
- 函数名称
- 函数作用(结果)
- 函数名后面的小括号里面要写什么内容(初始条件)
不同的函数可以完成各种各样的功能,就比如你用筷子可以夹东西,用碗可以盛东西。其中筷子、碗就是函数的名称,夹东西、盛东西就是函数的作用,东西是什么就是我们可以写在小括号里面的内容。(例子可能不够生动哈哈哈哈)
print不仅可以原样打印一些文本内容,也可以打印算式(打印这个算式的结果),如
#打印数字,表达式,文本(字符串) print(15) #打印数字15 print(2+3) #打印结果5 print("2+3") #打印字符串2+3 print('2+3') #打印字符串2+3
单引号和双引号效果一样,放在print()里会原样打印引号里面的内容,但必须成对出现(一对单引号、一对双引号),禁止混用(一单一双),如print('2=3")
②格式化用法
字符串格式化方法1:f-string
# 在字符串前加上字母“f”或“F”,可以将花括号“{}”内的表达式作为字符串的格式化参数
name = '张三'
age = 18
print(f'{name}今年{age}岁') # 直接使用变量的值替换{} 结果:张三今年18岁a = 5
b = 10
print(f'a+b={a + b}') # 用a+b的值替换{} 结果:a+b=15m = 2.997776
print(f'梨子{m:.2f}元/斤') # 冒号后面是指定的格式.2f表示保留两位小数,结果:梨子3.00元/斤
字符串格式化方法2:format()
# <模板字符串>.format(<逗号分隔的实际参数>)# 按实际参数出现的顺序逐个填入占位符
name = '张三'
age = 18
print('{}今年{}岁'.format(name, age)) #结果:张三今年18岁# 按实际参数的位置索引填入相应的占位符
var = '{0}9元一斤,{1}10元四斤,{0}和{1}各买一斤多少钱?'
print(var.format('苹果', '桃子'))
#结果:苹果9元一斤,桃子10元四斤,苹果和桃子各买一斤多少钱?# 按关键参数填入相应的值
var = '小明今年{age}岁,正在读{school}。'
print(var.format(age=17, school='高中')) #结果:小明今年17岁,正在读高中。
这里面都用到了大括号,不知道会输出什么的时候,秉承以下原则:
(1)字符串内大括号外的内容原样输出
(2)字符串内大括号里面的内容(包括大括号)会被实际的数据替换掉,要么按顺序替换,要么按计算结果或按指定格式或指定值替换。
2.2输入函数
x = input('请输入内容')
当看到一个等号“=”,这是一个赋值操作,这个代码需要我们从右往左看,我们先来看等号右边:
input('请输入内容')
其中input为输入函数的函数名,'请输入内容'是括号里要写的东西,其功能为用户可以在控制台输入一些内容。
- 我们一定用过QQ等类似软件的登录注册页面吧,在登录时它会让你输入账号密码,输入框里总是有一些淡颜色的提示:请输入用户名。这是一个输入时的提示信息而已,很明显不是太重要的东西,但是可以给用户一些提示。
- 在input()里面便是一些提示信息,你可以自己随意发挥提示的文字内容,甚至可以不提示(括号里面不要放任何内容就好了),如input()
再来看等号左边,一个x,
我们翻译一下:左边x = 右边用户输入的内容
请一起来读:把右边用户输入的内容赋值给左边x
看到这里,你应该明白为什么让你先看等号右边了吧,我怎么知道有没有赋值成功?用print打印一下x的结果就知道了。
注意:不管你输入什么内容,python都默认你输入了一个字符串类型的数据,也就是类似于一段文本的东西
3.注释
在2.1的代码中,你一定看到了很多灰色的文字吧,这些就是注释
注释是为了让自己的脑袋不混乱,也是为了让别人可以看得懂我们的代码
注释对于代码执行、功能、效果没有任何影响
①要注意写了一些注释之后,需要在最前面加一个#号,才表示当前行是注释。
②如果有连续多行注释,你可以选中这些行,按Ctrl+/快捷键后,每行前面都有一个#号。
③还有一种办法:键盘在英文状态下,选中多行后,按三次英文的单引号或双引号,如下
# 单行注释和多行注释
# 多行注释是由三对双引号或单引号包裹的内容
"""
多行注释1
多行注释2
多行注释3
"""
4.代码块缩进
代码块由一行或多行代码构成,当一个代码块属于某种条件下执行的内容,或者所属于某种情境下的语句,这个时候代码块就需要进行缩进了,一个缩进是4个空格。如果代码块内又有这种情景,可以继续缩进。但如果不是这种所属的情况,请将代码对齐,一个空格都不要多/少
x=5
if x>4:print('这是一个大于4的数字') #第一层缩进if x>5:print('这是一个大于5的数字') #第二层缩进
- 如果满足x>4时,执行缩进里面的代码块,这一段代码块中又包含了一个条件判断。
- 如果满足x>5,执行print('这是一个大于5的数字'),这个print语句和条件判断又构成了所属关系,所以需要和条件有一个缩进
举个栗子:某些教材的目录,一级目录和二级目录有一个缩进,三级目录又和二级目录有一个缩进,相当于和一级目录有了两个缩进。
5.关键字与标识符
5.1关键字
关键字是Python里面一些已经被赋予了重要意义的单词。下面这两行代码可以打印Python中所有的关键字。
import keyword
print(keyword.kwlist) #打印Python的所有关键字
以后我们会慢慢学习到这些关键字。
5.2标识符
标识符:简单来讲就是一个名字。他可以是变量名、函数名、类名、模块名或者其他对象的一些名称,这些统称为标识符。
你问什么是变量名?你看到第2部分、第4部分代码里面的x了吗,这就是一个变量名,或许你可以类比到数学中的自变量和因变量。简单理解,就是可以变化的量。
当一个变量名第一次出现的时候,必须给他一个初始值。即
变量名 = 初始值
当定义了一个变量并将一个值赋给它时,Python会在内存中为值分配一个合适大小的内存单元,并将变量与内存单元进行关联。以存储数据15的变量和存储数据20的变量为例,它们对应的标识符名称分别为num和data,代码如下:
data = 20 num = 15
下图描述了变量与内存单元之间的关系:
这里在给data赋值的时候,实际上是分配了一块内存(非计算机专业的可以简单理解为存储数据的地方,就好比田地里面用来种庄稼,分配给你了一块),内存中(分配的这块田地)存储这个初始值20(初始庄稼),变量名data(这块田地名称)可以理解为这个内存的一个名称,我们可以利用变量名来访问或操作这块内存的数据。
如果你想获取变量的内存地址,可以使用python内置函数:id(变量名)
print(id(data)) #记得把这个地址用print函数打印一下,不打印怎么显示出来结果
如果你想获取变量的类型(可看下一篇第6部分内容,点击即可跳转),可以使用python内置函数:
print(type(data)) #记得把这个结果用print函数打印一下
(内置函数:自带的,人Python自己现成的函数)
那标识符随意命名吗?当然不,Python的标识符在命名时,需要遵守一定的命名规则,具体如下。
- Python中的标识符由字母、数字或下画线组成,且不能以数字开头。
- Python中的标识符区分大小写。例如,andy和Andy是不同的标识符。
- Python不允许开发人员使用关键字作为标识符。
另外有一些如print、input这些Python自有的函数,虽未列在关键字中,但不建议作为自定义的标识符使用。