学习python的第三天

1.函数的传参方法有俩种,一种是默认传出:

def com (name,name1='ccc‘):
     print('%你好’%name)
     print(name)

一种是带参传参:

com(name = 'bbb',name1 = 'hahha')

2.不定长参数,在参数名前面的*表示args是一个可变参数

def com(*args):
     print(args)

例如:使用可变参数求和

def joker(*args) :
    sum = 0
    for i in args:
        sum += i
    print(sum)
joker(1,2,3,4,5,6,7,8,9)

3.判断是不是一个数字

sum = 0
xx =0
while xx !='st':
    xx = input('数字[输入st停止]')
    if xx != 'st':
       sum += float(xx)
       print(sum)

4.不定长参数

def joker(*args,**kwargs):
    print(args)
    print(kwargs)
joker(1,2,name = 1,b=2,c=3)

5.当你要在其他py文件种引用本文件中的任何东西,如果你不想在其他文件中运行该文件种的某些代码,你就可以使用“if__name__ ==" main":
例如:

def A():
    print('hahh')
if __name__ ==" __main__":
    A()

from lianxi5 import A
A()``
6.全局变量,定义在函数体外,在整个文件中都可以访问.事实上,减少对全局变量的使用

a=1000

def A(a):
    #global a 
    a += 1000
    print(a)

A(a)
print(a)
6.用函数写一个随机点名

import random
def A():
  names=['刘一','陈二','张三','李四']
  index= random.randint(0,len(names)-1)
  print (names[index])
A()

7.lambda表达式(创建匿名函数)

#(lamda x,y:print(x,y))(100,10)匿名函数
a=[['joker',100],['a',1],['aa',0]]
print(sorted(a,key=lambda x:x[1]))

8.使用for循环得到一个网页中的全部http的网址


    response = requests.get('http://news.baidu.com/')
    response.encoding = 'utf8'
    HTML = response.text
    print(HTML)
    for line in HTML.split('\n'):
        if'<a' in line and 'http' in line:
            splits = line.split('"')
            for s in splits:
                if 'http' in s and "background-image" not in s:
                     print(s)

9.字符串的使用

def main():
    str1 = 'hello, world!'
    # 通过len函数计算字符串的长度
    print(len(str1))  # 13
    # 获得字符串首字母大写的拷贝
    print(str1.capitalize())  # Hello, world!
    # 获得字符串变大写后的拷贝
    print(str1.upper())  # HELLO, WORLD!
    # 从字符串中查找子串所在位置
    print(str1.find('or'))  # 8
    print(str1.find('shit'))  # -1
    # 与find类似但找不到子串时会引发异常
    # print(str1.index('or'))
    # print(str1.index('shit'))
    # 检查字符串是否以指定的字符串开头
    print(str1.startswith('He'))  # False
    print(str1.startswith('hel'))  # True
    # 检查字符串是否以指定的字符串结尾
    print(str1.endswith('!'))  # True
    # 将字符串以指定的宽度居中并在两侧填充指定的字符
    print(str1.center(50, '*'))
    # 将字符串以指定的宽度靠右放置左侧填充指定的字符
    print(str1.rjust(50, ' '))
    str2 = 'abc123456'
    # 从字符串中取出指定位置的字符(下标运算)
    print(str2[2])  # c
    # 字符串切片(从指定的开始索引到指定的结束索引)
    print(str2[2:5])  # c12
    print(str2[2:])  # c123456
    print(str2[2::2])  # c246
    print(str2[::2])  # ac246
    print(str2[::-1])  # 654321cba
    print(str2[-3:-1])  # 45
    # 检查字符串是否由数字构成
    print(str2.isdigit())  # False
    # 检查字符串是否以字母构成
    print(str2.isalpha())  # False
    # 检查字符串是否以数字和字母构成
    print(str2.isalnum())  # True
    str3 = '  jackfrued@126.com '
    print(str3)
    # 获得字符串修剪左右两侧空格的拷贝
    print(str3.strip())

10.使用列表定义列表、访问列表元素以及添加和删除元素的操作

a=[1,2,3]
a[1]=200
a.append(100)
a.insert(0.1000)
a.remove(200)
set(a)

删除列表中的相同元素

a = [1,1,2,3,1,4,5,3,1,6,6]
b = []
for i in a:
   if i not in b:
       b.append(i)
print(b)

11.元组与列表类似,不同之处在于元组的元素不能修改
例如:给列表进行排序

list1 = ['aghhha','bbbb','cchhh','ddggggg']
list4 = sorted(list1, key=len)
print(list4)
sorted(list1,key=lambda x:len(x))
#key以指定什么方式进行排序

12.使用集合,不允许有重复元素,而且可以进行交集、并集、差集等运算

def main():
    set1 = {1, 2, 3, 3, 3, 2}
    print(set1)
    print('Length =', len(set1))
    set2 = set(range(1, 10))
    print(set2)
    set1.add(4)
    set1.add(5)
    set2.update([11, 12])
    print(set1)
    print(set2)
    set2.discard(5)
    # remove的元素如果不存在会引发KeyError
    if 4 in set2:
        set2.remove(4)
    print(set2)
    # 遍历集合容器
    for elem in set2:
        print(elem ** 2, end=' ')
    print()
    # 将元组转换成集合
    set3 = set((1, 2, 3, 3, 2, 1))
    print(set3.pop())
    print(set3)
    # 集合的交集、并集、差集、对称差运算
    print(set1 & set2)
    # print(set1.intersection(set2))
    print(set1 | set2)
    # print(set1.union(set2))
    print(set1 - set2)
    # print(set1.difference(set2))
    print(set1 ^ set2)
    # print(set1.symmetric_difference(set2))
    # 判断子集和超集
    print(set2 <= set1)
    # print(set2.issubset(set1))
    print(set3 <= set1)
    # print(set3.issubset(set1))
    print(set1 >= set2)
    # print(set1.issuperset(set2))
    print(set1 >= set3)
    # print(set1.issuperset(set3))

13.字典是一种可变容器模型,它可以存储任意类型对象,与列表、集合不同是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

def main():
    scores = {'骆昊': 95, '白元芳': 78, '狄仁杰': 82}
    # 通过键可以获取字典中对应的值
    print(scores['骆昊'])
    print(scores['狄仁杰'])
    # 对字典进行遍历(遍历的其实是键再通过键取对应的值)
    for elem in scores:
        print('%s\t--->\t%d' % (elem, scores[elem]))
    # 更新字典中的元素
    scores['白元芳'] = 65
    scores['诸葛王朗'] = 71
    scores.update(冷面=67, 方启鹤=85)
    print(scores)
    if '武则天' in scores:
        print(scores['武则天'])
    print(scores.get('武则天'))
    # get方法也是通过键获取对应的值但是可以设置默认值
    print(scores.get('武则天', 60))
    # 删除字典中的元素
    print(scores.popitem())
    print(scores.popitem())
    print(scores.pop('骆昊', 100))
    # 清空字典
    scores.clear()
    print(scores)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值