Python Basic Data Type
December 21, 2024 · 6 min read · Page View:
If you have any questions, feel free to comment below. And if you think it's helpful to you, just click on the ads which can support this site. Thanks!
This article will explore data types and common methods for them in Python.
The content of this review is as follows: number type
, string type
, boolean type
and type conversion
.
CH2 Basic Data Type #
1.Number Type #
Basic Type #
Integer Type #
- Default is decimal
- Binary:
0b
, Octal:0o
, Hexadecimal:0x
a = bin(16) # Binary
b = oct(16) # Octal
c = hex(16) # Hexadecimal
print(a, b, c)
# 0b10000 0o20 0x10
# Attention: str type
- Convert other base to decimal
d = int(a, 2) # Binary
e = int(b, 8) # Octal
f = int(c, 16) # Hexadecimal
print(d, e, f)
# 16 16 16
Float Type #
- Floating point number
(0.1+0.2) == 0.3
# 0.30000000000000004
# False
Computer uses binary to represent floating point number
Reason: Some decimal numbers cannot be represented by binary
Binary Decimal
0.00011001100110011001 0.09999942779541016
0.0011001100110011 0.1999969482421875
0.01001100110011001 0.29999542236328125
0.01100110011001101 0.40000152587890625
0.1 === $1*2^{-1}$ === 0.5
- Usually not affect calculation precision
- Can use rounding to solve:
round(parameter, certain number of decimal places)
a = 3*0.1
print(a)
# 0.30000000000000004
b = round(a, 1)
print(b)
# 0.3
b == 0.3
# True
Complex Type #
# Capital J or lowercase j
3+4j
2+5J
# When the imaginary part coefficient is 1, it needs to be explicitly written
2+1j
Operations #
- Addition, subtraction, multiplication, division
- Negation
-
- Exponentiation
**
- Integer quotient
//
: x/y floor division - Modulo operation
%
: x/y calculate remainder
Integer and floating point number operations result in floating point numbers
The result of division is a floating point number 8/4 = 2.0
Operations Functions #
- Calculate absolute value
abs()
abs(3+4j) # Calculate the modulus of the complex number a+bj (a^2+b^2)=0.5
# 5.0
- Power
pow(x,n)
is equivalent tox**n
- Power modulo
pow(x,n,m)
is equivalent tox**n % m
- Rounding
round(x,n)
n is the number of decimal places, default is no n, rounding to integer - Integer quotient and modulo operation
divmod(x,y)
is equivalent to returning a tuple(x//y,x % y)
- Sequence maximum/minimum value
max( )
min( )
a = [3, 2, 3, 6, 9, 4, 5]
print("max:", max(a))
print("min:", min(a))
# max: 9
# min: 2
- Sum
sum(x)
Note: sum needs to fill in a sequence data
sum((1, 2, 3, 4, 5))
# 15
- Use scientific calculation library
math\scipy\numpy
import math # Import library
print(math.exp(1)) # Exponential operation e^x
print(math.log2(2)) # Logarithmic operation
print(math.sqrt(4)) # Square root operation Equivalent to 4^0.5
import numpy as np
a = [1, 2, 3, 4, 5]
print(np.mean(a)) # Calculate mean
print(np.median(a)) # Calculate median
print(np.std(a)) # Calculate standard deviation
2.String Type #
String Expression #
- Use
""
or''
to enclose any character, refer to the situation where the string contains double quotes or single quotes. - If you only want to use one, you can use the escape character
\
to achieve it.
# print(""Python" is good") # False
print("\"Python\" is good") # \ character
# "Python" is good
- The escape character can be used to continue inputting on a new line
s = "py\
thon"
print(s)
# python
String Properties #
String Index (Single Character) #
Variable name[position number]
- Positive index – starts from 0 and increases, spaces are also a position
- Negative index – starts from -1 and decreases
- Position number cannot exceed the length of the string
s = "My name is Peppa Pig"
print(s[0])
# M
print(s[2])
#
print(s[-1])
# g
print(s[-3])
# P
String Slicing (Multiple Characters) #
Variable name[start position:end position:slice interval]
- The slice interval defaults to 1, which can be omitted
- Range: front closed and back open
s = "Python"
print(s[0:3:1]) == print(s[0:3])
# Pyt
print(s[0:3:2])
# Pt
- The starting position is 0, which can be omitted
- The end position is omitted, which means it can be taken to the last character
s = "Python"
print(s[0:6]) == print(s[:6]) == print(s[:])
# Python
Reverse Slicing
- The starting position is -1, which can be omitted
- The end position is omitted, which means it can be taken to the first character
- The key point is -1, which means the previous position is -1 larger than the next position
s = "123456789"
print(s[-1:-10:-1])
# 987654321
print(s[:-10:-1])
# 987654321
print(s[::-1])
# 987654321
String Operators #
String Concatenation #
- String1 + String2
String Multiplication #
- String * n
c = a+b
print(c*3)
print(3*c)
Member Operation #
- Subset in full set: Any continuous slice is a subset of the original string
folk_singers = "Peter, Paul and Mary"
"Peter" in folk_singers
# True
- Traverse string characters: for character in string
for s in "Python":
print(s)
# P
# y
# t
# h
# o
# n
String Processing Functions #
String Length #
- Number of characters
len(string)
Character Encoding #
Convert Chinese characters, English letters, numbers, special characters, etc. to computer-recognizable binary numbers
- Each single character corresponds to a unique, non-repeating binary code
- Python uses Unicode encoding
ord(character)
:Convert character to Unicode code
print(ord("1"))
# 49
print(ord("a"))
# 97
chr(Unicode code)
:Convert Unicode code to character
print(chr(1010))
# ϲ
print(chr(23456))
# 宠
String Processing Methods #
Return a list, the original string remains unchanged
String Splitting .split(" ")
#
languages = "Python C C++ Java PHP R"
languages_list = languages.split(" ")# The parameter in the parentheses is the mark we want to split the target string
print(languages_list)
print(languages_list)
# ['Python', 'C', 'C++', 'Java', 'PHP', 'R']
print(languages)
# Python C C++ Java PHP R
String Aggregation ",".join(" ")
#
- Iterable type, such as string, list
s = "12345"
s_join = ",".join(s) # Take out each element of the iterable object, add the aggregation character between the two
s_join
# '1,2,3,4,5'
- The elements of the sequence type must be of character type
# s = [1, 2, 3, 4, 5] cannot be used for aggregation
s = ["1", "2", "3", "4", "5"]
"*".join(s)
# '1*2*3*4*5'
Delete specific characters at both ends .strip("delete character")
#
- strip searches from both sides, deletes the specified character when encountered, stops searching when a non-specified character is encountered
- There are also left deletion
lstrip
and right deletionrstrip
s = " I have many blanks "
print(s.strip(" ")) # Search from both sides, delete spaces after encountering the specified character, then stop
# I have many blanks
print(s.lstrip(" "))
# I have many blanks
print(s.rstrip(" "))
# I have many blanks
String Replacement .replace("replaced", "replaced with")
#
s = "Python is coming"
s1 = s.replace("Python","Py")
print(s1)
# Py is coming
String Count .count("sample string")
#
s = "Python is an excellent language"
print("an:", s.count("an"))
# an: 2
String Letter Case and First Letter Capital .upper() .lower() .title()
#
s = "Python"
print(s.upper())
# PYTHON
print(s.lower())
# python
print(s.title())
# Python
3.Boolean Type #
Logical Operation Results #
- any() Data has a non-zero value is True
- all() Data has a zero value is False (all non-zero)
print(any([False,1,0,None])) # 0 False None are all zero
# True
print(all([False,1,0,None]))
# False
Mask for numpy array #
import numpy as np
x = np.array([[1, 3, 2, 5, 7]]) # Define numpy array
print(x > 3)
# [[False False False True True]]
x[x > 3]
# array([5, 7])
4.Type Identification and Type Conversion #
Type Identification #
type()
age = 20
name = "Ada"
print(type(age))
# <class 'int'>
print(type(name))
# <class 'str'>
isinstance(variable, type)
Recognize inheritance
- The variable type is a subtype of the type, then it is true, otherwise it is false
print(isinstance(age, int)) # Recognize inheritance, here int is equivalent to a class
# True
print(isinstance(age, object)) # object is the ancestor of all classes
# True
String Check Methods #
string.isdigit()
Character is only composed of numbersstring.isalpha()
Character is only composed of lettersstring.isalnum()
Character is only composed of numbers and letters
Type Conversion #
- Number type to string
str(number type)
- String composed of only numbers to number
int()
float()
eval()
s1 = "20"
int(s1) # 20
s2 = "10.1"
# int(s2) will error
float(s1)
# 20.0
eval(s2)
# 10.1
Related readings
If you find this blog useful and want to support my blog, need my skill for something, or have a coffee chat with me, feel free to: