1
1

00:00:00,500  -->  00:00:01,890
<v ->Hi guys and welcome back.</v>
2

2

00:00:01,890  -->  00:00:05,100
Just a quick video to tell you about Booleans.
3

3

00:00:05,100  -->  00:00:09,680
A Boolean is a value that can be either true or false.
4

4

00:00:09,680  -->  00:00:11,830
And we can use that to make decisions,
5

5

00:00:11,830  -->  00:00:13,900
for example, using Boolean logic,
6

6

00:00:13,900  -->  00:00:17,690
we can tell whether a user's age is over 18.
7

7

00:00:17,690  -->  00:00:20,060
Or whether the user's character in a game
8

8

00:00:20,060  -->  00:00:21,910
has pressed the up arrow.
9

9

00:00:21,910  -->  00:00:24,430
Things like that are what we need Booleans for
10

10

00:00:24,430  -->  00:00:26,100
and they are everywhere in Python
11

11

00:00:26,100  -->  00:00:27,180
and in Programming.
12

12

00:00:27,180  -->  00:00:28,580
Let's learn more about them.
13

13

00:00:29,730  -->  00:00:32,900
Booleans are created by using comparisons.
14

14

00:00:32,900  -->  00:00:34,650
So, you can compare two things together
15

15

00:00:34,650  -->  00:00:36,410
to calculate whether two things
16

16

00:00:36,410  -->  00:00:38,580
are the same or different,
17

17

00:00:38,580  -->  00:00:42,450
for example, if you print five equal equal five,
18

18

00:00:42,450  -->  00:00:45,000
this is a Boolean comparison,
19

19

00:00:45,000  -->  00:00:47,030
five equal equal five.
20

20

00:00:47,030  -->  00:00:48,680
Notice that a single equal sign
21

21

00:00:48,680  -->  00:00:51,370
is used to assign a value to a variable.
22

22

00:00:51,370  -->  00:00:53,420
But two equal signs, one after another
23

23

00:00:53,420  -->  00:00:56,210
are used to compare two things.
24

24

00:00:56,210  -->  00:00:57,700
And what we're comparing here is,
25

25

00:00:57,700  -->  00:00:59,740
five and we're gonna check whether it is
26

26

00:00:59,740  -->  00:01:02,520
exactly equal to five.
27

27

00:01:02,520  -->  00:01:04,630
So, these two numbers here are being compared
28

28

00:01:04,630  -->  00:01:06,290
and we're going to get true,
29

29

00:01:06,290  -->  00:01:07,820
if they are exactly equal
30

30

00:01:07,820  -->  00:01:09,470
and we're going to get false if they are
31

31

00:01:09,470  -->  00:01:11,250
in any way different.
32

32

00:01:11,250  -->  00:01:13,170
So, if I run this here, you'll see
33

33

00:01:13,170  -->  00:01:15,013
that we get true out.
34

34

00:01:17,540  -->  00:01:19,030
As well as equal equal,
35

35

00:01:19,030  -->  00:01:22,010
you can use the typical maths operators
36

36

00:01:22,010  -->  00:01:23,310
such as greater than,
37

37

00:01:23,310  -->  00:01:25,640
to calculate whether a number is greater than
38

38

00:01:25,640  -->  00:01:26,503
another number.
39

39

00:01:27,780  -->  00:01:29,483
And there you get false.
40

40

00:01:32,090  -->  00:01:34,162
As a special case, you've also got,
41

41

00:01:34,162  -->  00:01:37,360
exclamation mark equal, which is used
42

42

00:01:37,360  -->  00:01:39,900
to tell whether two things are different.
43

43

00:01:39,900  -->  00:01:41,520
So, what this reads as is,
44

44

00:01:41,520  -->  00:01:44,490
is 10 different from 10?
45

45

00:01:44,490  -->  00:01:47,220
So, again, you'll get true if they are different
46

46

00:01:47,220  -->  00:01:49,683
and you'll get false if the are not different.
47

47

00:01:50,950  -->  00:01:54,000
So, here we should get false,
48

48

00:01:54,000  -->  00:01:55,723
because they are not different.
49

49

00:01:57,030  -->  00:01:58,770
Other comparisons that are available
50

50

00:01:58,770  -->  00:02:00,880
as well as equal equal, not equal
51

51

00:02:00,880  -->  00:02:03,900
and greater than are less than
52

52

00:02:03,900  -->  00:02:05,590
and greater than are equal to,
53

53

00:02:05,590  -->  00:02:06,900
or less than are equal to.
54

54

00:02:06,900  -->  00:02:08,970
And this is how you write them in Python.
55

55

00:02:08,970  -->  00:02:10,280
So, you can check whether something is
56

56

00:02:10,280  -->  00:02:12,850
less than one thing, whether it's greater than
57

57

00:02:12,850  -->  00:02:14,170
or equal to something else
58

58

00:02:14,170  -->  00:02:15,260
or whether it's less than
59

59

00:02:15,260  -->  00:02:16,773
or equal to something else.
60

60

00:02:18,160  -->  00:02:18,993
I'll say at this point,
61

61

00:02:18,993  -->  00:02:20,850
that you can use these operations,
62

62

00:02:20,850  -->  00:02:22,530
not only on numbers,
63

63

00:02:22,530  -->  00:02:24,650
but on any other value including lists,
64

64

00:02:24,650  -->  00:02:26,730
and tuples and strings and what not,
65

65

00:02:26,730  -->  00:02:28,720
but they can behave differently depending
66

66

00:02:28,720  -->  00:02:31,270
on what type of data you use them on.
67

67

00:02:31,270  -->  00:02:32,300
We're going to learn more
68

68

00:02:32,300  -->  00:02:34,690
and get more acquainted with how they behave
69

69

00:02:34,690  -->  00:02:36,830
in different scenarios, as we go along
70

70

00:02:36,830  -->  00:02:39,590
with better examples, of course.
71

71

00:02:39,590  -->  00:02:41,590
So, these are the comparisons
72

72

00:02:41,590  -->  00:02:43,810
and as well as comparisons, you've also got
73

73

00:02:43,810  -->  00:02:45,080
a few Python key words
74

74

00:02:45,080  -->  00:02:47,663
that you can use to calculate Booleans.
75

75

00:02:49,300  -->  00:02:52,320
One of the more confusing key words in Python,
76

76

00:02:52,320  -->  00:02:53,780
when you're talking about Booleans
77

77

00:02:53,780  -->  00:02:56,370
is the ease key word.
78

78

00:02:56,370  -->  00:02:58,160
So, here we've got two list,
79

79

00:02:58,160  -->  00:02:59,870
friends and abroad and they have
80

80

00:02:59,870  -->  00:03:02,270
the exact same elements inside them.
81

81

00:03:02,270  -->  00:03:05,860
You can print whether friends equal equal abroad
82

82

00:03:05,860  -->  00:03:07,630
and when you run this code,
83

83

00:03:07,630  -->  00:03:09,460
you get back true,
84

84

00:03:09,460  -->  00:03:11,850
because the equal equal sign,
85

85

00:03:11,850  -->  00:03:14,500
when you're talking about two different lists,
86

86

00:03:14,500  -->  00:03:16,470
compares whether the elements inside them
87

87

00:03:16,470  -->  00:03:17,780
are the same.
88

88

00:03:17,780  -->  00:03:20,300
And here, because you're comparing two strings,
89

89

00:03:20,300  -->  00:03:22,070
then Python can detect
90

90

00:03:22,070  -->  00:03:24,383
that these two lists are actually the same.
91

91

00:03:25,300  -->  00:03:27,850
However, a lot of new Python developers
92

92

00:03:27,850  -->  00:03:30,470
will try to do friends is abroad,
93

93

00:03:30,470  -->  00:03:32,590
which is something you can do in Python.
94

94

00:03:32,590  -->  00:03:34,670
But you won't get what you expect
95

95

00:03:34,670  -->  00:03:36,630
because you get false.
96

96

00:03:36,630  -->  00:03:39,210
That is because when you create a new list,
97

97

00:03:39,210  -->  00:03:41,630
Python goes and creates some space
98

98

00:03:41,630  -->  00:03:44,370
in its memory for this new list.
99

99

00:03:44,370  -->  00:03:46,660
The elements can be stored somewhere else,
100

100

00:03:46,660  -->  00:03:50,313
but the list itself has its own area in memory.
101

101

00:03:51,260  -->  00:03:53,580
Then when you create another list,
102

102

00:03:53,580  -->  00:03:56,080
it goes and creates another area in memory
103

103

00:03:56,080  -->  00:03:57,810
for this other list.
104

104

00:03:57,810  -->  00:04:01,130
The elements inside the list were created separately
105

105

00:04:01,130  -->  00:04:03,920
and they could be the same between both lists,
106

106

00:04:03,920  -->  00:04:07,210
but the lists themselves are different.
107

107

00:04:07,210  -->  00:04:10,450
And that is what the is keyword checks in Python.
108

108

00:04:10,450  -->  00:04:14,050
It checks whether two elements are exactly the same thing,
109

109

00:04:14,050  -->  00:04:16,870
not whether they have the same elements inside them
110

110

00:04:16,870  -->  00:04:19,000
or whether they are similar.
111

111

00:04:19,000  -->  00:04:21,180
So, again the is keyword is to compare
112

112

00:04:21,180  -->  00:04:23,800
whether two elements are the same thing.
113

113

00:04:23,800  -->  00:04:26,750
So, if you do friends is friends, for example,
114

114

00:04:26,750  -->  00:04:28,663
you're going to get true.
115

115

00:04:29,780  -->  00:04:33,040
If say abroad equal friends up here
116

116

00:04:33,040  -->  00:04:35,450
and then you check whether friends is abroad,
117

117

00:04:35,450  -->  00:04:37,280
you're also going to get true
118

118

00:04:37,280  -->  00:04:39,740
because you haven't created two lists.
119

119

00:04:39,740  -->  00:04:42,360
You've just pointed the two variables
120

120

00:04:42,360  -->  00:04:43,780
to the same list.
121

121

00:04:43,780  -->  00:04:46,490
And that again is what the is keyword is for,
122

122

00:04:46,490  -->  00:04:48,920
I recommend you almost never use it.
123

123

00:04:48,920  -->  00:04:50,680
You're almost always gonna want to use
124

124

00:04:50,680  -->  00:04:51,803
the double equal sign.
125

125

00:04:52,930  -->  00:04:54,660
All right, that's it for comparisons
126

126

00:04:54,660  -->  00:04:56,660
and this brief introduction to Booleans.
127

127

00:04:56,660  -->  00:04:58,550
Let's learn more in the next video.
128

128

00:04:58,550  -->  00:04:59,500
I'll see you there.
