python基础1

python 自省:
help(str)---返回所有类型(重要)
type('hello')---返回type目标的类型
isinstance('hello', str)----判断是否为字符串类型

dir(str)-----返回该类型的所有方法


模块导入: 包括函数,类,变量的独立python文件
import m
from m import plus----导入m模块的plus方法
例一:
import os import *
>>> uname()[-1]-------1表示该列表的最后一项
例二:
import os
>>> os.uname()[-1]-------------需加上os前缀


导入私有模块
1.把模块所在目录添加到path当中
sys.path.append(path)
from m import plus2
plus2();//导入私有模块中中的plus2方法


python数据类型可任意改变
变量必须赋值才能出现在表达式右边
python一切皆对象
Boolean
Integer --自动转换为Long
Folat=56.4
String="222"
List=[12,34,2]
Tuple=(1,2,3)//不能动态增加大小 元祖
Dict={'Bob': 18 , 'ss': 16}//无序 字典 可以append
Set= set([1,2,3,4])//无序
空对象None 。空字符串'' 。 空元组() 。空列表[]。 空字典{}----判断为false

打印带双引号
>>> print ('I love "zhuxiao" ')
I love "zhuxiao"

>>> print("I love \"zhuxiao\" ")
I love "zhuxiao"

三个单引号成对括起来,可以把字符串弄成多行
>>> str1 = '''I love zhu
... "xxxx"
... '''
>>> str1
'I love zhu\n"xxxx"\n'

split()//默认是以空格 回车 换行符 分割成list集合
>>> str1 = '''I love zhu
... "xxxx"
... '''
>>> str1
'I love zhu\n"xxxx"\n'
>>> list1 = str1.split()
>>> list1
['I', 'love', 'zhu', '"xxxx"']

append方法//增加元素


字典的使用
>>> dict = {'zhu':18 , 'xiao':21}
>>> dict.get('zhu')
18
>>> dict.get('zhu2')
>>> dict.get('zhu2',31)
31
>>> dict.get('zhu',31)
18
>>> dict['zhu']=111
>>> dict.get('zhu')
111


>>> dict.keys()
dict_keys(['xiao', 'zhu'])
>>> dict.values()
dict_values([21, 111])
>>> dict2 = dict.copy()
>>> dict2
{'xiao': 21, 'zhu': 111}
>>> del dict//删除dict字典
>>> dict2.popitem()//弹出dict2第一项
('xiao', 21)
>>> dict2
{'zhu': 111}
>>> 'zhu' in dict2//判断zhu健是否存在dict2字典中
True
 

python表达式
= 赋值
== 比较是否一样
>,< 大于小于
>=,<=
python表达式组合
可以用使用and或者or进行表达式组合(逻辑运算)
and 逻辑与(串联)
or 逻辑或
not 逻辑非

python逻辑分支
if 条件判断语句:
......
else:
.....


if 条件判断语句:
.....
elif 条件判断语句:
.....
else:
......


python中,除了False和None(本身也是对象)外,都被认为是True
python中不存在switch语句
python中不存在三目运算符


练习:
sex = 'male'
age = 18


if sex == 'male':
if age < 18:
print ('hellogirl')
else:
print ('hello lady')
else:
print ('boom')



python循环分支:
for 变量 in 列表:
.....
使用变量
//元祖是一种特殊的列表
>>> for value in [1,2,3,4]:
...     print (value)
...
1
2
3
4
>>> for name,age in {('z',12),('x',21)}://元祖 弱化List
...     print (name,age)
...
x 21
z 12


循环控制语句: 
continue
break
else

 for v in yuanzu(21,3):
     if v>22:
             print ('continue')
             continue
     else:
             print ('break no Forelse')
             break
 else://和for同一级的else 在没有break和exception 结束循环执行
print('no contain break/exception')

同样while也支持 continue break else
range(5)方法 返回0-4的对象


python函数的定义个调用
#函数定义
def 函数名():
函数体
#函数调用
函数名()




python变长参数
会自动自动转换为元祖或字典


def函数名(*args)://元祖
函数体

函数名(v2,v2,v3)

def函数名(**args)://字典
函数体..
函数名(k1=v1, k2 = v2)


python参数默认值
当不指定参数时使用默认参数,当然指定参数优先
def zhu(a,b='hello'):
函数体..


python的函数返回值
return obj
return ---None



python面向对象基础--类
python中一切都是对象,类和对象是面向对象的基础

#定义一个Monk类  self相当于java的this  _init_是初始化方法
class Monk:
def _init_(self, name, age):
self.name = name
self.age = age
#实例化
ZHUMONK = Monk('zx',21)
#查看类型
type(ZHUMONK)


python标准输入输出
print("aa")方法:输出数据到标准输出
raw_input():从标准输入读取数据


file类
f = file('url', 'r')---r(只读),w(只写),
a(追加),b(二进制),r++,a++(更新)
f.read()
f.close()
 
f = open('url', 'r')

多种读取方式
f.read()//读取所有数据
f.readline()//读取一行
f.readlines()//内容保存在List中


写文件
f = file('url' ,'a')
f.writer('aaaa')//aa写到源文件的尾部
f.flush()//刷新内存
f.close()
help(file)


python socket
应用层(HTTP)
传输层(TCP):
TCP SOCKET(校验)
UDP SOCKET (不校验)
UNIX SOCKET(机器内部)
网络层(IP)
链路层(MAC帧)
物理层(网线)


客户端首发数据
import socket
c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)//初始化socket
c.connect(('192.172.1.1', 80))
c.send('hello')//发送数据
c.recv(1024)//接收数据






服务端Socket监听连接
import socket
c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)//初始化socket 
s.bind(('127.0.0.1', 80))
s.listen(1)
while True:
cs, ca = s.accept()#创建socket和客户端通信
print (cs.recv(1024))//大于1024端口
cs.sendall('message')
cs.close()


python HTTP库
import httplib
http = httplib.HTTPConnection('ip', 80)
http.request('GET', 'url')
print (http.getresponse().read())
http.close()


简单的urllib库 实现HTTP FTP
import urllib2
opener = urllib2.build_opener()
f = opener.open('http://www.baidu.com')
f.read()
f.close(0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值