您的当前位置:首页正文

Itercast Python教程笔记

2024-11-27 来源:个人技术集锦

  

1991年,荷兰人 Guido Van Rossum, Python是一个喜剧团体的名称。跨平台、一切皆对象、胶水语言、解析执行的脚本语言。

安装包: .msi(windows), .rpm(linux)等

环境变量: export PATH=$PATH:/home/to/bin/python

软链接: sudo ln -s /usr/local/bin/python3 /usr/bin/python

常用命令:

// 查看帮助
help(str)

// 查看类型
type('test')

// 查看是否是继承实例
isinstance('test', str)

// 查看所有可用方法
dir(str)


# 注释符

模块: 包含函数、类、变量的独立Python文件

import 模块名
模块名.函数名()

from 模块名 imoprt 函数名
函数名()

一切皆对象,变量也是对象
查看对象类型: 变量名.__class__
调用对象方法: 变量名.方法()

数据类型: Boolean,Interger,Float,String,List,Tuple,Dict,Set

# List 列表 相当于PHP的数组,里面的元素类型可以是任意的
myList = [11,22,33]

# Tuple 元组 (是一种简化版List,赋值后无法改变,速度快)
myTuple = (11,22,33)

# 字典 (无序的键值对,类似json)
myDict = { 'tom':18, 'jerry':15 }
myDict.get('tom', 'default')
myDict['tom'] = 19
myDict.keys()
myDict.values()
myDict.copy()
myDict.popitem()
del myDict['tom']

# 集合 (和数学的集合是一个概念,集合中元素必须唯一)
mySet = set([11,22,33])

# 空的东西
None # 空对象
''   # 空字符串
[]   # 空列表
()   # 空元组
{}   # 空字典

# python没有switch语句,而是用if...elif...else来代替
# python同样也没有三目运算符


# 循环
for 变量 in 列表:
    ...

比如:
for i in ["a","b","c"]:
    print i

for name,age in (('Tom',18),('Mary',12)):
    print name, age

while 条件:
    ...

迭代器.next()
iter(obj) 生成迭代器
continue
break

# 定义函数
def functionName():
    函数体

# 调用函数
functionName()

# 变长参数
def 函数名(*args):
    函数体

函数名(v1, v2, v3)


def 函数名(**args):
    函数体

函数名(k1=v1, k2=v2)


# 函数的返回值
如果定义了,就返回定义的返回值;
如果没定义,只写了一个return而已,就返回None
如果连return都没写,同样返回None


# 类
class 类名称():
    ...

class 类名称(父类名称):
    ...

实例名 = 类名称()

比如:
class Monk:
    def __init__(self, name, age):
        self.name = name
        self.age = age

myMonk = Monk('悟空', 20)
myMonk.name
type(myMonk)
myMonk.__class__
 


解决中文报错问题:
#!/usr/bin/python
#-*-coding:utf-8-*-

# 文件IO
# print 把数据输出到标准输出
# raw_input 把数据从标准输入读取进来
input = raw_input('提示: ')
print(input)

f = file('test.txt', 'a')

# 读取全部并返回字符串
f.read()

# 一次只读一行
f.readline()

# 读取全部并返回列表
f.readlines()
f.write('test text')
f.flush()
f.close()

## socket
应用层:HTTP
传输层:TCP (TCP socket 检验、可靠; UDP socket 不校验、不可靠、高效)
网络层:IP路由
链路层:MAC帧
物理层:网线

# 导入socket模块
import socket

# 创建TCP类型的socket
c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 建立一个指向IP和端口的TCP连接(即本机服务端的ip地址和端口)
# 而客户端连接上来的是一个随机端口
c.connect(('211.147.4.31', 80))

# 在机器上使用netstat查看连接
> netstat -n | grep 211.147.4.31

# 关闭连接
c.close()






转载于:https://my.oschina.net/ecnu/blog/367812

显示全文