热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ItercastPython教程笔记

为什么80%的码农都做不了架构师?1991年,荷兰人GuidoVanRossum,Python是一个喜剧团体的名称。跨平台、一切皆对象、胶水语言、

为什么80%的码农都做不了架构师?>>>   hot3.png

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

当执行 $python test.py 时,Python解析器(如默认用C语言写的Cpython,还有jpython、IronPython等)会将test.py隐式编译为字节码于当前目录下(test.pyc),然后放到Python虚拟机(PVM)里执行字节码,接着对应平台(如Intel)会在其CPU上执行实际的机器指令。

安装包: .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 ifor name,age in (('Tom',18),('Mary',12)):print name, agewhile 条件:...迭代器.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 = nameself.age = agemyMonk = 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



推荐阅读
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
author-avatar
paalanjorrisch_270
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有