鱼C论坛

 找回密码
 立即注册
查看: 2248|回复: 0

[技术交流] 《零基础入门学习Python》笔记(五)

[复制链接]
发表于 2017-6-24 09:02:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
类型的转换:
>>> int('123')  
>>> int(12.34)  
>>> float('12.34')  
>>> str(1.23)  
>>> unicode(100)  
>>> bool(1)  
>>> bool('')  
  
a = abs,a 指向函数  
a(-1) = 1  
  
#数据类型:  
#整形,浮点,字符串,布尔(Ture,False)     a='abc',a.replce(‘a’,'A')是创建一个新的字符串反回  
#运算符:and,or,not  
#集合类型:  
#1,list:定义l= ['a','b'],list有序,可增减  
#    len(list),append('x'),insert(1,'x'),pop(),list[1] = 'x',l.sort()  
#   切片访问:l[0:3],l[-2:],前10个数,每两个取一个:l[:10:2],也可用于字符串  
#2,tuple:定义t=('a','b'),tuple和list一样,但不可增删改  
#3,dict: 定义d = {'a'=1,'b'=2},访问d['key'],不存在会报错,所以'a'in d = Ture,d.get('a'),不存在返回None不报错  
#   d.pop('a')  
#4,set:定义 s = set([1,2,3]),set和dict类似只存key值,发生重复会过滤掉  
  
#列表生成公式:  

>>> range(1, 11)  
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
>>> [x * x for x in range(1, 11)]  
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]  
>>> [m + n for m in 'ABC' for n in 'XYZ']  
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']  
  
#两个变量来生成list:  
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }  
>>> [k + '=' + v for k, v in d.iteritems()]  
['y=B', 'x=A', 'z=C']  
#字符串变成小写:  
>>> L = ['Hello', 'World', 'IBM', 'Apple']  
>>> [s.lower() for s in L]  
['hello', 'world', 'ibm', 'apple']  
  
  
#列表生成器续:内建generator  
#要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:  
>>> L = [x * x for x in range(10)]生成list//如果[]变成(),则是生成generator,可用for遍历  
>>> L  
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]  
>>> g = (x * x for x in range(10))#g属于gennerater型  
>>> g  
<generator object <genexpr> at 0x104feab40>  
  
  
  
#函数:  
#1,参数类型检查:  
def myf(x):  
    if not instance(x, (int, float)):  
        raise TypeError('type error!')  
      
#2,多个返回值:定义默认参数要牢记一点:默认参数必须指向不变对象(非变量)!  
def move(x,y,anlge=10):  
    nx = x+math.cos(angle)  
    ny = x+math.sin(angle)  
    return nx,ny  
nx,ny = move(4,6)#返回值两个是tuple(),tuple正好可以x,y = ('x','y')这样赋值  
  
  
#3,不定个参数:*//最后的*p会独立组装成tuple
def myf(*p):  
    sum = 0  
    for n in p:  
        sum = sum+p  
    return sum  
  
a = myf(3,4,56,3),如传入l=[3,6,78] a=myf(*l)  
  
  

评分

参与人数 2鱼币 +4 收起 理由
康小泡 + 1
小甲鱼 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 11:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表