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.代码注释原则:

不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可

注释可以用中文或英文,但绝对不要拼音噢

时间: 2024-10-23 00:08:40

python-day4的相关文章

python day4笔记 常用内置函数与装饰器

1.常用的python函数 abs             求绝对值 all               判断迭代器中所有的数据是否为真或者可迭代数据为空,返回真,否则返回假 any             判断迭代器中的数据是否有一个为真,有返回真,可迭代数据为空或者没有真,返回假 bin             转换整数为二进制字符串 hex            转换整数为十六进制字符串 oct             转换整数为八进制字符串 bool           转换数据为布尔值

Python Day4 函数 装饰器

内置函数: 参考 https://docs.python.org/2/library/functions.html 装饰器 装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作 # 定义函数,为调用,函数内部不执行 # 函数名 > 代指函数 # @ + 函数名 # 功能: #     1. 自动执行outer函数并且将其下面的函数名f1当作参数传递 #     2. 将outer函数的返回值,重复赋值给 f1 example 1:

Python(day4)集合、布尔类型

集合的作用一:关系运算集合的作用二:去重 定义集合:集合内的元素必须是唯一的:集合内的元素必须是可hash的,也是就不可变类型:集合是无序的 s={'egon',123,'egon','1'} #s=set({'egon',123,'egon','1'} ) print(s,type(s)) s={'1',1,[1,2]} s={'1',1,(1,2),'a','b'} print(s) 循环 s={'1',1,(1,2),'a','b'} for i in s: print(i) 关系运算 p

python day- 4

字典(dic) 1.定义及格式 用{ }大括号括起来的,由key:value 来保存数据的就是 字典(dic) eg:dic = {"及时雨" : "宋江" , "玉麒麟" : "卢俊义", "智多星" : "吴用"} 这就是一个字典. 格式是 key : vlaue 字典中的key 必须是可哈希的,也就是不可变的.value 是可变的. 保存的状态是无序的 2. 字典的增删改查 1)增

【Python之旅】第四篇(一):Python装饰器

有时候拿到一个程序接口,需要对其进行扩展,但是又不能修改原来接口的源代码,这时候就需要使用装饰器了. 有下面一个小程序,假如是别人提供给我们的调用接口: import time def sayHi():         time.sleep(1)         print 'Hello, I am xpleaf.' 一般情况下,如果想要计算该程序的执行时间(因为有可能要对该接口进行某些性能上的测试),就需要把以上接口修改为下面这样,同时执行一下: 程序代码: import time def s

python day04 学习整理

python day4 学习整理 1.装饰器 #什么是装饰器#器是指函数#装饰就是修饰,意思是为其他函数添加新功能#装饰器定义:本质就是函数,定义是为其他函数添加新功能 ##装饰器需要遵循的原则#1,不修改被装饰函数的源代码(开放封闭原则)#2,为被装饰函数添加新功能后,不修改被装饰函数的调用方式 #实现装饰器的知识储备#装饰器 = 高阶函数 + 函数嵌套 + 闭包 # def foo(x):# def foo1(x):# return x# return foo1## print(foo(1)

【Python之旅】第四篇(三):Python面向对象编程详解

终于是来到了Python的面向对象编程,以前是没有接触过其它的面向对象编程的语言,因此学习这一部分是相当带劲的,这里也总结一下. 1.面向对象编程的相关名词及解释 世界万物,皆可分类,一切皆为对象. 所谓的面向对象编程,指的是一种编程的思想,通过对具体代码实现过程(面向过程编程)的不断抽象,以形成一个个的类别,以提高我们进行大型程序编写的效率(面向对象的具体实现需要面向过程,大型程序也可以用面向过程来编写,只是比较麻烦).对于面向对象编程的相关名词和解释如下: 对象 :类的实体\一个叫Rain的

装饰器-Day4

---恢复内容开始--- 一.装饰器的概述 装饰器本质是函数,用来装饰其他函数,顾名思义就是为其他函数添加附件功能. 二.装饰器的原则 不能修改被装饰函数的源代码 不能修改被装饰函数的调用方式 装饰器为什么会有这两个原则?因为如果写的程序在生产环境下已经运行了,修改别人的源代码或者别人的调用方式,后果可想而知. 三.实现装饰器的知识储备 函数即变量 高阶函数 嵌套函数 最终:高阶函数+嵌套函数=>装饰器 四.函数即变量 1.python的内存机制 x = 1 #变量 def test(): #函

第四天 PYTHON 函数

本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派---->类----> class2.面向过程: 少林派---->过程---->def3.函数式编程:逍遥派---->函数---->def 函数与函数式编程 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是

【9】python关于os模块与os.path的相关操作

---恢复内容开始--- #__author:"吉*佳" #date: 2018/10/20 0020 #function: # os模块知识点 import os # 获取平台名称: 打印:nt代表windows posix 代表linux,unix MAC os print(os.name) # 这个Mac系统能执行,打印操作系统详细信息 os.uname() # 获取系统的环境变量 print(os.environ) # 获取指定的环境变量 print(os.environ.ge