01 基本概念和基本数据类型
基本概念
变量
变量是编程语言中最基本的概念,它的主要作用是用来存储数据,并且存储的数据可以改变
变量特点
英文字母、下划线和数字组成,且不能以数字开头。
为了方便沟通与交流,人们会用不同的名称标记不同的事务
然就会明白指代的是哪一种水果。
变量的名称是区分大小写的,例如apple和Apple就是两个不同的变量
变量的定义
在python中,每个变量在使用前都必须赋值(给他一个你想要给他添加的内容),变量赋值以后该变量才会被创建
等号(=)用来给变量赋值
= 左边是一个变量名
= 右边是存储在变量中的值
具体语法格式
变量名 = 值
变量练习
# 定义姓名(name)变量为:张三
name = '张三'
# 定义年龄(age)变量为:25
age = 25
# 使用print函数输出姓名(name) 、年龄(age)的内容
print(name,age)
输入&输出函数
1、print()函数
print()函数用于机器输出(打印)你想要让它显示的内容
具体语法格式:print(*objects, sep=' ', end='\n', file=None)
# objects:表示需要打印输出的内容,输出很多个内容时,内容之间需要用分隔符分隔 print('你好') """ sep:用于设定分隔符,默认使用空格作为分隔(在一般的打印中,如果不需要设定特殊的分隔符,则默认为空格作为分隔符) """ print(98, 96, sep=',') print('小红','小明',sep = '|') # end:用于设定输出以什么结尾,默认值为换行符\n。 print(1, 2, 3, 4, 5, end=',') print('张三', '李四', end='。') # file:表示数据输出的文件对象,可以使用此方法保存打印的内容 print('Hello World!', file=open('demo.txt', 'w'))
例如之前第一堂课的测试pycharm是否能正常使用
print('这是我的一个第一个python程序')
控制台显示:
这是我的第一个python程序 # 运行代码,输入在print内部的内容就会打印在控制台中
2、input()函数
input()函数用于对机器输入你想要给它的内容
具体语法格式:input([prompt])
prompt:用于自己输入提示
例如:
name = input("请输入你的姓名:") print(name)
控制台显示:
请输入你的姓名:张三 # 运行代码,输入在input内部的提示就会显示在控制台中
根据提示在框中输入数据,输入的数据会在按下回车键后完成输入
张三
变量的引用
变量与数据是分开存储的;
数据保存在内存中的一个位置;变量中保存着数据在内存中的地址。
使用id()函数可以查看变量中保存数据所在的内存地址
情景再现:
假如我是一个水果摊老板,当有一个老顾客来光顾我的生意,买了很多的水果,当我给他算好的总价是102元,然后我给他抹了一个零,最后他支付的价格为100元
进行变量引用的演示:
带着刚刚情景再现的内容,现在给大家进行一个动态的演示,假如我给我的老顾客结算后,他需要支付102元,所以我就定义了一个money(钱)的变量,并且把它赋值成102,此时102这个数字在内存中的地址会传给money,这就是102这个数值被money这个变量引用了,所以在内存中目前102的名字就是money。(询问是否有问题)再然后,我要给我的老顾客进行一个优惠,于是我给他抹了一个0,抹0之后,是不是就变成了100,此时的100是没有被引用的,当我再次给money变量赋值成100,在内存中保存的100这个数值又会将它的内存地址传给money,同时100这个数值目前在内存中的名字就是money了,这就是money对于100这个数值的引用。那之前的102去哪里了呢,因为在内存中有一个叫垃圾回收机制,将102又回收了回去。这一整体流程就是为变量的引用
可能遇到的问题:
学生问:那为什么传递的是内存地址,但是实际打印的是变量的值呢?
答:是由于Python解释器的表达式求值功能,将变量所绑定的对象的值作为结果进行返回
关键字
在python中具有特殊功能的英文单词称为关键字
关键则具有特殊功能和含义,这一些关键字都是python被创造之初就已经被定义的一些英文单词,
在pycharm里都会显示成一个橙色的颜色。这一些标识符是不能做变量名的
import keyword
print(keyword.kwlist)
内置函数
python中的内置函数也是已经被定义过了,关于内置的函数最好也不要做变量名
print(__builtins__)
基本数据类型
数据类型
1、数字型:
整型int:日常生活中的整数,包括正整数,负整数、0
浮点型float:日常生活中所见到的小数
布尔型bool:布尔类型包括True和False,用于判断的一个
复数类型complex
2、字符串
3、列表
4、元组
5、集合
6、字典
数值类型的计算
num1 = 9
num2 = 6
# 加(+)
print(num1 + num2) # 15
# 减(-)
print(num1 - num2) # 3
# 乘(*)
print(num1 * num2) # 54
# 除(/)、整除(//)
print(num1 / num2) # 1.5
print(num1 // num2) # 1
# 取余(%)
print(num1 % num2) # 3
# 幂运算/次方计算(**)
num3 = 10
num4 = 3
print(num3 ** num4) # 1000
# 在Python中bool型的True与False分别等同于1和0,也可以直接进行运算 True -> 1 False -> 0
print(True + 1) # 2
print(False - 1) # -1
2、字符串
以上所说的都是数值的使用,那像平常我们去跟别人交流所用的汉字和外国友人交流用使用的英文字母单词在代码中该怎么表示呢?我们带着这个问题接着往下看
在代码中表达一段话使用的是字符串类型
对于字符串有三种定义方式,分别为单引号、双引号和三引号(其中三引号包含了三个单引号和三个双引号)
现在,咱们可以打开pycharm一起进行一个编写尝试。
例如:
# 单引号定义字符串
str1 = '字符串1'
# 双引号定义字符串
str2 = "字符串2"
# 单三引号定义字符串
str3 = '''字符串3'''
# 双三引号定义字符串
str4 = """字符串4"""
注意:
只有三引号才支持换行,而其他的两种则不支持换行
字符串是由引号内的一个个字符组合而成
对于字符串的拼接
对于字符串拼接有很多种样式来进行字符串的拼接,这里举了几个例子,咱们可以使用这些例子,在pycharm里进行试用
s = '欢迎'
t = '你的'
r = '到来'
# 利用占位符%s来拼接字符串 意思是用%s作为一个替代,将后面的内容以前面的方式拼接
print('%s%s%s' % (s, t, r))
# 利用join方法来拼接字符串
print(''.join([s, t, r]))
# 利用format方法拼接
print('{}{}{}'.format(s, t, r))
# 利用+号进行拼接
print(s + t + r)
'''
以上运行结果都是:
欢迎你的到来
作用:可以使多个字符串变量组合在一起输出
'''
当普通的数值所相加时将会得到正常运算的数,
而字符串内相加,则会形成一个拼接的情况。
# 普通数值正常运算
print(1+1) # 2
# 字符串类型相加即为进行拼接
print('1' + '1') # 11
如果想查看数据的类型可以利用type()函数来区分
# 定义name变量为字符串类型
name = '李四'
# 定义age变量为int类型
age = 27
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
字符串格式化
# %d 格式化整数,将整数格式化至想要的位数
print('%1d' % 123) # %1d的意思是打印结果位1位整数,当整数超过1位时,按原数值打印。
print('%6d' % 123) # %6d的意思是打印结果为6位整数,当整数位数不够6位时,在左侧补空格
# %f 格式化浮点数,将小数格式化至想要的位数
print('%09.2f' % 3579.123) # .2f表示小数点后面精确到2位,09表示不够9位数左侧补0
print('%08.2f' % 3579.123) # .2f表示小数点后面精确到2位,08表示不够8位数左侧补0
# %r 原样输出对象
print('%r' % '你好') # 以原样输出对象
字符串format方法
对于format方法不只有字符串的拼接,还有一些其他的用途,例如:
# 对于保留小数的控制
a = math.pi
print('{:.2f}'.format(a)) # 保留两位小数
b = 0.35
print('{:.2%}'.format(b))# 将b变量以百分号的形式输出
对于format方法,还有一个用途
# 最常用的格式化方法:在字符串前面的引号加上f/F,里面用花括号包裹变量,配合变量一起输出
num = 10
print(f'今天我去超市买零食,花费了我{num}元')
name = '张三'
age = 20
print(f'我的名字叫{name},我今年{age}岁') # 在字符串的引号前添加一个f/F,可以将变量用花括号括起来与字符串一起输出
数值类型模块
浮点数高精度运算
计算机中的浮点数是以二进制形式进行存储的,在这个表示方式中,一个数可能不能完全被表示,只能近似表示,因此在计算浮点数时可能会有精度损失。
二进制形式的意思:指的是使用0和1来表示数字、字符、颜色等信息的一种方法,计算机内部的数字和指令都是以二进制的形式进行处理
bin() # 使用bin函数能将十进制的数字转化为二进制
print(1.2 - 1.1) # 浮点数出现精度缺失的问题
import decimal
num = decimal.Decimal('1.2') - decimal.Decimal('1.1') # 使用decimal模块即可解决浮点数精度缺失问题
print(num) # 0.1
今天这就是我们的最后一个内容
补充
注释
python中的注释分为单行注释与多行注释
单行注释:用于说明当前行或之后代码的功能,单行注释即可以单独占一行,也可以位于代码之后。
单行注释以 # 开头。# 之后的内容都为注释内容。
# 这是一个单行注释
print('你好') # 这也是一个单行注释
对于单行注释在pycharm的快捷键,可以选中该行,任何按下ctrl+/键进行此行快捷注释
多行注释:多行注释是由三对单引号或者三对双引号包裹的语句,主要用于说明函数或类的功能,因此多行注释也被称为说明文档
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("你好")
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("你好")
# 两种注释的效果一样,都是起到多行注释的效果
缩进
Python代码使用缩进(即一行代码之前的空白区域)确定代码之间的逻辑关系和层次关系。
在以后编写代码的过程中,需要对于代码有一个合理的缩进,如果缩进有问题,则代码会报错
Python代码缩进可以通过Tab键或空格键控制。输入空格是python3首选的缩进方法,一般使用4个空格表示一级缩进(Tab键一般相当于4个空格);
a = True
if a == True:
print(True)
else:
print(False)