Python 基础Day03

函数的参数

函数是绝大多数编程语言中都支持的一个代码的“构建块”,但是Python中的函数与其他语言中的函数还是有很多不太相同的地方,其中一个显著的区别就是Python对函数参数的处理。在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载

常用数据结构

##列表排序

list1 = ['orange','apple','zoo','internationallization','blueberry']
list4 = sorted(list1,key=len)
print(list4)

list1 = ['orange','apple','zoo','internationallization','blueberry']
list4 = sorted(list1,key=lambda x:len(x))
print(list4)

注:和字符串一样,列表也可以做切片操作,通过切片操作我们可以实现对列表的复制或者将列表中的一部分取出来创建出新的列表。

使用元祖

我们把多个元素组合到一起就形成了一个元组,所以它和列表一样可以保存多条数据。

def main():
    # 定义元组
    t = ('骆昊', 38, True, '四川成都')
    print(t)
    # 获取元组中的元素
    print(t[0])
    print(t[3])
    # 遍历元组中的值
    for member in t:
        print(member)
    # 重新给元组赋值
    # t[0] = '王大锤'  # TypeError
    # 变量t重新引用了新的元组原来的元组将被垃圾回收
    t = ('王大锤', 20, True, '云南昆明')
    print(t)
    # 将元组转换成列表
    person = list(t)
    print(person)
    # 列表是可以修改它的元素的
    person[0] = '李小龙'
    person[1] = 25
    print(person)
    # 将列表转换成元组
    fruits_list = ['apple', 'banana', 'orange']
    fruits_tuple = tuple(fruits_list)
    print(fruits_tuple)


if __name__ == '__main__':
    main()

注:(1)元组中的元素是无法修改的,事实上我们在项目中尤其是多线程环境
(2)元组在创建时间和占用的空间上面都优于列表。

使用集合

Python 基础Day03_第1张图片
注:Python中允许通过一些特殊的方法来为某种类型或数据结构自定义运算符(后面的章节中会讲到),上面的代码中我们对集合进行运算的时候可以调用集合对象的方法,也可以直接使用对应的运算符。

使用字典

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

dict_ = {1:100,'Joker':'value'}


# for i in dict_:
#     value = dict_[i] # .get('Joker','None') 适用于字典动态变化的时候
#     print(value)

# 同时获取键值对
# for key,value in dict_.items():
#     print(key,value)
# 获取键名
print(dict_.keys())
# 获取键值
print(dict_.values())

注:字典的一切操作都是通过键名操作键值!!!;字典是无序的,没有索引操作,除非转换成有序字典,
补充:当你要在其他的py文件中引用本文件中的任何东西;如果你不想要在其他文件中运行该文件中的某些代码;你就可以用"if name == “main”:"

练习1 计算器做加法

def jisuanqi(*args):
    sum = 0
    xx = 0
    while xx !='st':
        xx = input('数字[输入st停止]')
        if xx != 'st':
            sum += float(xx)
            print(sum)
    
    def start():
        jisuanqi()
    start()
    
结果显示如下:
数字[输入st停止]1
1.0
数字[输入st停止]4
5.0
数字[输入st停止]4
9.0
数字[输入st停止]st

练习2 随机点名

import random
def dianming():
    names = ["杨宁","吴蓉","白露","吴东","李彦婷","段晓磊","张晨照","李璐"]
    begin= random.randint(0,len(names)-1)
    print (names[begin])
def start():
    dianming()

    
start()

结果显示如下:
点到的名字为:
李璐

练习3 判断是否是数字

def Num():
    num = float(input('请输入:>>>'))
    num1 = int(num)
    num2 = str(num1)
    if 48<=ord(num2)<=57:
        print("它是一个数字")
    else:
        print("它不是一个数字")
    def start():
        Num()
    start()
    
结果显示如下:
请输入:>>>4
它是一个数字

练习4 删除所有空格

a  = ' a b c de f  g '
   b = ''
   for i in a:
       if i != "":
           b+=i
   print(b)
   
结果显示如下: abcdefg

练习5 找出所有的网址

import requests

response = requests.get('http://news.baidu.com/')
response.encoding = 'utf8'
HTML = response.text

for line in HTML.split('\n'):
    if '

你可能感兴趣的:(Python 基础Day03)