Two addresses in every subnet are kept back. The first one, with all the host bits 0, is the network address: it names the network itself and is what you see in routing tables. The last one, with all the host bits 1, is the broadcast address: a packet sent to it reaches every host on that subnet.
So a subnet's usable hosts are 2^(host bits) - 2. A /24 has 256 addresses and 254 usable hosts; a /30 has 4 addresses and only 2 hosts, which is just right for a link between two routers. (A /31 is a special case used for exactly that, and a /32 is one single address.)
When the prefix isn't a multiple of 8, look at the block size: 256 minus the last mask octet that isn't 255. For /26 the mask ends in 192, so the block size is 64 and the subnets start at .0, .64, .128 and .192. To find which subnet an address is in, find the block it falls in: 10.0.5.70/26 is in the block that starts at 64, so its network is 10.0.5.64 and its broadcast is one less than the next block, 10.0.5.127.
import ipaddress
net = ipaddress.ip_network("10.0.5.64/26")
print(net.network_address, net.broadcast_address)
print(net.num_addresses - 2)
Prints
10.0.5.64 10.0.5.127
62
The usable hosts are everything in between: 10.0.5.65 to 10.0.5.126. By habit, the router (the default gateway) often takes the first usable address.