首页 > 代码库 > python-day4
python-day4
1.光纤--物理连接介质,和网线一样。
2.以太网的工作方式: 广播
3.IP地址形式:点分十进制
4.Ip+子网掩码(暗位语运算),算出网络地址
5.网关与网关走的是路由协议
6.Arp协议:先分析两台机器的网络地址是否一样--判断是否在一个局域网,通过ip地址找到mac地址。再次发送时就指定目标mac地址发送(交换机学习)。
7.一台机器要和另外一台机器通信,首先要知道对方机器的IP地址,arp协议通过IP地址和子网掩码判断两台机器是否在一个局域网内,如果在一个局域网内将通过arp协议获得另外一台机器的mac地址,然后通过以太网协议进行通信;交换机已知mac地址后,再次发送时就会指定目标mac地址发送(交换机学习),不再采用广播形式;如果判断不在一个局域网内,首先要把数据包发给网关,那就要知道网关的IP地址和子网掩码,通过arp协议获取网关的mac,再通过以太网协议将数据包发给另一个网关。
8.服务端与客户端通信: 要明确知道客户端在哪=》通过IP地址找到客户端再哪个子网=》通过mac地址找到客户端在子网的具体位置
9.传输层:tcp/udp协议 ,端口号0-65535(操作系统占用0-1024) =》ip+mac+端口确定位软件位置
10.软件与软件通信:通过IP地址找到客户端在哪个子网=》通过mac地址找到客户端在子网的具体位置=》通过端口号确定软件的具体位置
总结: ip+mac地址可以定位任何一台机器
=》 ip+mac+端口可以确定任何一个软件
=》 ip+端口可以确定任何一个软件
11.文件后缀名对python运行没关系
12.Python解释器执行python程序的过程:python3 C:\test.py
1)启动python解释器(内存中)
2)将C:\test.py内容从硬盘读入内存(这一步与文本编辑器是一样的)
3)执行读入内存的代码
13.如果想要永久保存代码,就要用文件的方式
如果想要调试代码,就要用交互式的方式
14.变量
变量是什么?
一个是变:核心在于变化
一个是量:衡量,计量,表达是一种状态
变量的定义 : 变量名+赋值+变量值
eg: level=0
level=1
name=’alex’
name=’alexSB
变量定义规则:
1.变量名只能是 字母、数字或下划线的任意组合
2.变量名的第一个字符不能是数字
3.以下关键字不能声明为变量名[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
定义方式
驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
下划线
age_of_oldboy = 56
number_of_students = 80
变量的修改:
name=’alexSB’ #’alexSB’这个值的引用计数+1
name=’alexDaSB’ #’alexDaSB’这个值的引用计数+1,’alexSB’这个值的引用计数-1
定义一个变量,储存的数据是变量值
变量名与变量值是一种绑定关系
变量名本身并没有储存值的功能
变量值的引用计数或者说变量值身上绑定的变量名为0个,这时python解释器就会定期回收他们
扩充内容:
name=’alexDaSB’
name1=name
变量定义的三个重要组成部分:
Id;type;value
eg:
>>>Name=’alexDaSB’
>>>id(name)
41999664
>>>type(name)
<class’str’>
>>>name
’alexDaSB’
>>>
>>>
>>>name1=name
>>>id(name1)
>>>41999664
>>>type(name1)
<class’str’>
>>>name1
’alexDaSB’
只要id一样,其他的type和value都一样
身份运算符:
>>> name1 is name
True
is比较的是id,只要id一样其他部分都一样
扩展出python特性:小数池 长度不是很长的数字都在小数池内,池内id都是一样的
例如1:
>>>age1=10
>>>age2=10
>>>
>>>id(age1)
1654240608
>>>type(age1)
<class’int’>
>>>age1
10
>>>
>>>id(age2)
1654240608
>>>type(age2)
<class’int’>
>>>age2
10
例如2:
age1=1234567890123456789
age2=1234567890123456789
>>>
>>>id(age1)
41864328
>>>type(age1)
<class’int’>
>>>age1
1234567890123456789
>>>
>>>id(age2)
41864368
>>>type(age2)
<class’int’>
>>>age2
1234567890123456789
>>>age1 is age2
False
>>>age1 == age2
True
15.常量:不变的量
python中没有专门的定义, AGE_OF_OLDBOY_=50 通常用大写的方式来表达常量,仅仅是
一种提示效果
16.程序交互:
例如:name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)
17.代码注释原则:
不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
注释可以用中文或英文,但绝对不要拼音噢
python-day4