python基础(二)

python基础(二)

1.函数

内置函数:具体参考官方文档:http://docs.python.org/3/library/functions.html#abs

#获取最大值或最小值
l = [1,2,3,99,43]
print(max(l))
print(min(l))

#部分字符串函数
str = "hello world zhangsan"
print("str长度:",len(str))
print("str第一个字符转大写",str.capitalize())
print("str是否包含hello,返回hello的位置",str.find("hello"))
print("lower 转小写:",str.lower())
print("upper 转大写:",str.upper())

数据类型转换函数,如:

#字符串转int
a = int('123')
print(type(a),":",a)
#结果:<class 'int'> : 123

#float转int
a = int(23.663)
print(type(a),":",a)
#结果:<class 'int'> : 23

#int转字符串
b = str(123)
print(type(b),":",b)
#结果:<class 'str'> : 123

什么叫函数:为了实现一个特定的功能,然后把实现这个功能的所有执行语句进行封装,然后每次调用该函数即可

函数定义和调用,使用def ,然后跟上函数名、参数、冒号

​ def 函数名(参数):

​ 函数体

样例:

def if_func(x):    
	if x >= 0:        
		return x    
	else:        
		return "error"
print(if_func(100))
#注意:缩进为四个空格或1个tab

def sum(x,y):
    return x + y

print(sum(3,4))
#调用自定义的sum函数,传递的参数为3、4,输出结果为7

递归函数

递归就是一个函数自己调用自己

#递归,实现n!=n * (n-1)...... * 3 * 2 * 1
def func(n):    
    if n == 1:        
        return 1    
    return n * func(n-1)
print(func(4))
#详解:
 ---func(4)
 ---4 * func(3)
 ---4 * (3 * func(2))
 ---4 * (3 * (2 * func(1)))
 ---4 * (3 * (2 * 1))
 ---4 * (3 * 2)
 ---4 * 6
 ---24

2.其他特性

  • 切片
    取某个索引范围内的值

    L = ['张三','李四','王五']
    #若要获取L集合中前两个元素,我们可以使用循环,也可以使用切片
    #循环
    n = 2
    for i in range(n):
        print(L[i],end='\t')
    print()
    #切片,从索引0开始,n-1结束,不包括 n
    L[0:n]
    print(L[0:2])
    
  • 迭代

    #迭代---不通过下标获取
    #迭代list集合
    L = ['张三','李四','王五']
    for i in L:    
        print(i,end='\t')
    print()
    #结果:张三	李四	王五	
    
    #迭代字符串
    for i in "helloworld":    
        print(i,end='\t')
    print()
    #结果:h	e	l	l	o	w	o	r	l	d	
    
    #迭代dict内置字典
    dict = {1:"张三",2:"李四",3:"王五"}
    for k,v in dict.items():    
        print(k,v)
    #结果:1 张三
    #     2 李四
    #	  3 王五
    
    
  • 列表生成式

    创建复杂的list集合,如:

    #生成 3 * x + 1 ,x取1到10
    L = [3 * x + 1 for x in range(11)]
    print(L)
    #结果:[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31]
    
    
  • 生成器

    相比列表生成式可以节省大量的空间,因为生成器保存的是算法

    #生成器
    g = (3 * x + 1 for x in range(11))
    print(g)
    for i in g:    
        print(i)
    
  • 迭代器

    什么是可迭代对象:可以直接作用于for循环的对象

    #判断一个对象是否是Iterable
    isinstance([1,2,3],Iterable)
    #结果:True
    

    什么是迭代器:可以被next()函数调用并不断返回下一个值的对象

    #判断一个对象是否是Iterator
    print(isinstance([],Iterator))
    #结果:False
    print(isinstance(g,Iterator))
    #结果:True
    
    itera = iter([2,4,6,8,10])
    while True:    
        try:        
            x = next(itera)        
            print(x,end='\t')   
        except StopIteration:        
            break
    #结果:2	4	6	8	10	
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值