一、工作记录
1、字符串方法
今天又是巩固基础的一天,第一个方面是字符串。字符串中有很多方便的小运算我之前不知道,比如:
字符串加法:将前后两个字符串合并到一起
字符串乘法:将字符串重复 n 次形成新字符串
成员运算符:in,,not in (判断包含与不包含)
查找与替代: str.find(),str.replace()
拆分与组合:str. split(),str.join()
2、位运算:
位运算是一种基于二进制的运算。对两串二进制代码做位运算时,将相同位置的 0 或者1 配对在一起,根据不同的位运算符进行运算:
|(或):两者中只要有一个1就返回1,否则返回0
&(与):两者均为1时返回1,否则返回0
^(异或):两者一个为0另一个为1时返回1,否则返回0
~(非):对单个数值使用,所有位上的0变成1,1变成0
位运算也可以参与逻辑运算,作为逻辑预算时与通常的and,or,not作用类似,但是在df 中对以组为单位的数据进行比较时,要用位运算符,不能用and,or,not。在逻辑运算中,False 相当于0,True 相当于1。
3、notnull()
之前数据分析的时候经常用isnull() 来提取df 中的缺失值,今天有一次是需要提取非缺失值。查了一下资料,可以用notnull() 的办法来处理,还挺方便的。
二、延伸学习
今天延伸学习的主题是IP,这个既熟悉又陌生的概念。查阅到的资料如下:
IP 地址用于标识网络中的特定设备,IP 地址由32位二进制数组成,可被分为4段,每段8位,用. 分开。被分开的四段中,每段都可以用一个0 ~ 255的十进制数表示。这种展示IP 的方法被称为:点分十进制表示法,比如:255.21.196.6。
IP地址32位数字中,一般都有若干位作为网络位,若干位作为主机位。其中网络位用来标识所属网段,主机位用来标识代表该网段中的特定设备。
用于区分哪些位是网络位,哪些位是主机位的编码被称为子网掩码。子网掩码和IP地址一样也是32位长度的二进制数,两者相同位置的数一一对应,当子网掩码在特定位置上的数为1时,以地址在该位上的数为网络位,相反为0时,以地址在该位上的数为主机位。
默认情况下, A 类网络子网掩码为255.0.0.0,B 类网络子网掩码为255.255.0.0, C 类网络子网掩码为255.255.255.0。我查了一下资料,A,B.,C 类网络好像也没有特别的意思,可能是自行设置的吧。但一般网络管理员不会采用默认的子网掩码,会根据实际情况设置。网络位越多,子网络就越多,但一个网络下的主机数就越少,反之则是网络少而一个网络下的主机数可以较多。根据实际情况调整位数可以减少浪费,高效利用IP 地址。
除了A,B,C类网络外,还有D 类地址和 E 类地址,这两种网络地址不区分网络号和主机号,D 类地址由 224.0.0.0。到239.255.255.255,并不指向特定网络,而用于多点广播。E 类地址为 240.0.0.0到215.255.255.255,作为保留或科研使用。
每个网段的第一个1个IP 地址代表其本身,不用于标记主机,而每个网段的最后一个IP 地址用于广播,即向此地址发送消息时,等同于向该网段下所有主机发送消息,故也不是某个特定主机的地址。
由于现在接入网络的设备非常多,IP地址不够用,因此产生了私网地址和公网地址之分,私网地址可重复使用,但在互联网中不可访问,公网地址全网唯一,在互联网中可以访问。
今天的探索就到这里了,但是还遗留下了很多问题,比如如何区分私有地址和公有地址?什么是网关?如何连接打印机?如何连接共享盘?这些问题就等待明天探索吧。