翼度科技»论坛 编程开发 python 查看内容

Python基础笔记

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
4. 列表

列表非常适合于存储程序运行期间可能变化的数据集。
遍历列表
  1. nums = ["alice","david","carolina"]
  2. for iter in nums:
  3.     print(iter)
复制代码
创建数值列表

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

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

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

元组使用圆括号来标识。定义元组后,可使用索引来访问元组元素。
  1. dimensions = (200, 50)
  2. print(dimensions)
  3. #TypeError: "tuple" object does not support item assignment(禁止修改元组)
复制代码
严格来说,元组是由逗号标识的,圆括号只是让元组看起来更整洁清晰。如果要定义只包含一个元素的元组,必须在这个元素后面加上逗号。
  1. my_t = (3,)
复制代码
遍历元组
  1. dimensions = (200, 50)
  2. for iter in dimensions:
  3.     print(iter)
复制代码
修改元组变量

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

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

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

创建和使用类

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

继承

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

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

举报 回复 使用道具