北狼丶 发表于 2023-7-17 19:18:23

Python基础笔记

4. 列表

列表非常适合于存储程序运行期间可能变化的数据集。
遍历列表

nums = ["alice","david","carolina"]
for iter in nums:
    print(iter)创建数值列表

1、简单使用range() 函数
for value in range(1, 5);
        print(value)2、使用range() 创建数字列表
numbers = list(range(1, 6)) #使用list()将range()的结果直接转换为列表
print(numbers)3、range() 指定步长
even_numbers = list(range(2, 11, 2))
print(even_numbers)
---------------------------
4、对数字列表的简单计算
digits =
print(f"min(digits) = {min(digits)}\n")
print(f"max(digits) = {max(digits)}\n")
print(f"sum(digits) = {sum(digits)}\n")5、列表解析
将for循环和创建新元素的代码合并成一行,并自动附加新元素
squares = #每取出一个元素,都会进行平方的操作
print(squares)使用部分列表

1、切片,创建切片可指定要使用的第一个元素和最后一个元素的索引
players = ["charles", "martina", "michael", "florence", "eli"]

print(players) #遵守左闭右开[?,?),不取右值
print(players[:4])        #若没有指定第一个索引,将自动从列表开头开始
print(players[:4])        #若没有指定第二个索引,则切片终止于列表末尾
print(players[-3:]) #输出倒数后3个元素2、遍历切片,使用for循环
for iter in players[:3]:
    print(iter.title())3、复制列表
复制列表可创建一个包含整个列表的切片,同时省略起始索引和终止索引。注意这里不是将副本进行赋值,二者是指向同一个列表。
players = ["charles", "martina", "michael", "florence", "eli"]
player1 = players[:]5. 元组

python将不能修改的值称为不可变的,而不可变的列表被称为元组。
定义元组

元组使用圆括号来标识。定义元组后,可使用索引来访问元组元素。
dimensions = (200, 50)
print(dimensions)

#TypeError: "tuple" object does not support item assignment(禁止修改元组)严格来说,元组是由逗号标识的,圆括号只是让元组看起来更整洁清晰。如果要定义只包含一个元素的元组,必须在这个元素后面加上逗号。
my_t = (3,)遍历元组

dimensions = (200, 50)
for iter in dimensions:
    print(iter)修改元组变量

虽然不能修改元组的元素,但是可以给存储元组的变量赋值。如果需要存储的一组值在程序的整个生命周期内都不变,就可以使用元组。
dimensions = (200, 50)
dimensions = (400, 100)6. 字典

字典是一系列键值对。每个键都与一个值相关联。可以使用键来访问相关联的值。字典用在花括号 ({ }) 中的一系列键值对表示。
alien = {"color":"green", "points":5}

print(alien["color"]) #访问字典中的值添加键值对,可依次指定字典名、用方括号括起来的键和相关联的值。
alien["x_position"] = 0   #添加键值对
alien["y_position"] = 25#添加键值对

alien_0 = {} #空字典
del alien_0["point"]#删除键值对,彻底删除为避免在访问时指定的键不存在的问题,可使用get方法,返回一个默认值。
point_value = alien.get("points","No point value assigned.")1、遍历所有键值对
for key, value in user_0.items(): #items() 返回的是一个键值对列表
    print(f"\nKey:{key}")
    print(f"Value:{value}")2、遍历字典中的所有键
for name in language.keys(): #keys()返回的是一个列表,其中包含字典中的所有键
    print(name.title())3、按特定顺序遍历字典中的所有键
for name in sorted(languages.keys()):
    print(f"{name.title()},thank you for taking the poll")4、遍历字典中的所有值
for iter in languages.values():
    print(iter.title())这种做法提取字典中所有的值,而没有考虑是否重复。若重复值太多,最终的列表可能包含大量重复项,为剔除重复项,可使用集合set,使得集合中的每个元素都是独一无二的。
for iter in set(languages.values()):
    print(iter.title())7. 函数 input()

input()工作原理:让程序暂停运行,等待用户输入一些文本。
message = input("Tell me something, and I will repeat it back to you: ")
print(message)使用函数input()时,Python将用户输入解读为字符串。但是我们想要使用整形数据的话,可以使用int()来获取数值输入
height = input("How tall are you,in inches?")
height = int(height)8. 类

创建和使用类

给出一个类的使用例子:
class Dog:
    def __init__(self, name, age):
      self.name = name
      self.age = age
    def sit(self):
      printf(f"{self.name} is now sittig.")
        def roll_over(self)
                print(f"{self.name} rolled over!")注意:__init__() 是一个特殊的方法,当类创建一个新的实例时,会自动运行该方法。类似于C++里的构造函数。而self是指向实例本身的引用。
每个函数默认第一个参数都是self。
使用类和实例

继承

在既有类的基础上编写新类时,通常要调用父类方法__init()__。这将初始化在父类__init()__ 方法中定义的所有属性,从而让子类包含这些属性。给出一个例子:
Car父类代码:
class Car:
    def __init__(self,make,model, year):
      self.make = make
      self.model = model
      self.year = year
      self.odometer_reading = 0
      
        def get_descriptive_name(self):
      long_name = f"{self.year} {self.make} {self.model}"
      return long_name.title()
    def read_odometer(self):
      print(f"This car has {self.odometer_reading} miles on it.")
      
    def update_odometer(self, mileage):
      if mileage >= self.odometer_reading:
              self.odometer_reading = mileage
      else:
            print("You can't roll back an odometer!")
    def increment_odometer(self, miles):
      self.odometer_reading += miles电动汽车子类实现代码:
class ElectricCar(Car): #子类继承父类,是需要将父类放在子类括号中
    def __init__(self, make, model, year):
      #初始化父类属性
      super().__init__(make, model, year) #特殊方法,可以在子类中调用父类方法
      
my_tesla = ElectricCar("tesla", "model s", 2019)
print(my_tesla.get_descriptive_name())对于父类的方法,只要它不符合子类模拟的实物的行为,都可以进行重写。为此,可在子类中定义一个与要重写的父类方法同名的方法。这样,Python将不会考虑这个父类方法,而只关注在子类中定义的相应的方法。
导入类
Python标准库
类编码风格

来源:https://www.cnblogs.com/BrokenSnow/p/17560417.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python基础笔记