Python代码补全计划: DAY-4

声明:该系列文章首发于公众号:Y1X1n安全,转载请注明出处!本公众号所分享内容仅用于每一个爱好者之间的技术讨论,所有渗透及工具的使用都需获取授权,禁止用于违法途径,否则需自行承担,本公众号及作者不承担相应的后果。


Question 4

1、Question:

编写一个从控制台接受逗号分隔数字序列的程序,并生成一个包含每个数字的列表和一个元组。假设向程序提供以下输入:

34,67,55,33,12,98

然后,输出应该是:

['34', '67', '55', '33', '12', '98']
('34', '67', '55', '33', '12', '98')

Hints:

如果输入数据被提供给问题,则应假定为控制台input.tuple()方法可以将列表转换为元组


2、Solution

2.1 Python 2
values = raw_input()
l = values.split(",")
t = tuple(l)
print l
print t

🍭
1、使用 raw_input() 函数获取用户的输入,并将其赋值给变量 values。
2、使用字符串方法 split(“,”) 将 values 字符串按照逗号分隔,生成一个包含多个字符串的列表 l。
3、使用内置函数 tuple() 将 l 列表转换为一个元组 t。
4、使用 print 语句分别打印输出变量 l 和变量 t。


2.2 Python 3
2.2.1 tuple方法
lst = input().split(',')  
tpl = tuple(lst)          # tuple 方法将列表转换为元组

print(lst)
print(tpl)

2.2.2 tuple方法(简洁)
print(tuple(input("输入以逗号分隔的一系列数字:").split(',')))
2.2.3 过程展示 by Y1X1n
str0 = input()
print("输入内容的类型:")
print(type(str0))
list1 = str0.split(',')
print("split处理后的内容和类型:")
print(list1)
print(type(list1))

tpl = tuple(list1)          # tuple 方法将列表转换为元组
print("tuple处理后的内容和类型:")
print(tpl)
print(type(tpl))

🍭3、相关知识点

🍭1、元组(Tuple)是 Python 中的一种数据类型,用于存储多个值,类似于列表(List)。

与列表不同的是,元组是不可变的,也就是说一旦创建后就不能修改其中的元素。因此,元组通常用于存储一些不可更改的数据,如一些常量、配置信息等。元组的语法用小括号 () 表示,元素之间用逗号 , 分隔。
下面是一个创建元组的示例:
t = (1, 2, 3, 4, 5)
元组中的元素可以通过索引访问,与列表类似。例如,要访问元组 t 中的第一个元素,可以使用以下代码:
t[0]
元组还支持切片操作,可以使用t[start:end]的语法获取一个子元组。
元组也支持一些内置函数,如 len()、max()、min() 等。此外,元组还可以通过 + 运算符进行连接,通过 * 运算符进行重复。
需要注意的是,如果元组中只有一个元素,需要在元素后面加上逗号,否则会被解释器认为是一个普通的值而不是元组,例如:
t = (1,) # 包含一个元素的元组需要加上逗号
最后,需要注意的是元组是不可变的,这意味着一旦创建后就不能修改其中的元素。如果需要修改一个元组中的元素,可以先将其转换为列表,修改后再转换回元组,例如:

t = (1, 2, 3)
l = list(t)  # 将元组转换为列表
l[0] = 4    # 修改列表中的元素
t = tuple(l) # 将列表转换回元组

🍭2、split
split() 是 Python 中的一个字符串方法,它用于将字符串分割成一个列表,基于指定的分隔符进行分割。
具体来说,它将一个字符串按照指定的分隔符切割成子字符串,并将这些子字符串存储在一个列表中返回。
split() 方法可以使用一个分隔符作为参数,也可以不带参数使用默认分隔符。默认情况下,它使用空格作为分隔符。

Question 5

1、Question:

定义一个至少有两个方法的类:

  • getString:从控制台输入获取字符串
  • printString:以大写打印字符串

还请包括简单的测试函数来测试类方法

Hints:

使用init方法构造一些参数


2、Solution

2.1 Python 2
# 定义一个名为 InputOutString 的类,包含了三个方法:__init__()、get_string() 和 print_string()

class InputOutString(object):

    # 在 __init__() 方法中,我们初始化了一个实例变量 s,它的初始值为空字符串。

    def __init__(self):
        self.s = ""
        
    # get_string() 方法用于获取用户输入,并将输入存储到实例变量 s 中
    
    def get_string(self):
        self.s = raw_input()
    # print_string() 方法用于将存储在实例变量 s 中的字符串打印出来,并将字符串全部转换为大写字母。
    
    def print_string(self):
        print self.s.upper() # upper()用于将字符串中的所有字母转换为大写字母,并返回一个新的字符串。

str_obj = InputOutString()
str_obj.get_string()
str_obj.print_string()

2.2 Python 3
class IOstring():
    def get_string(self):
        self.s = input()

    def print_string(self):
        print(self.s.upper())

# 主程序

xx = IOstring()
xx.get_string()
xx.print_string()

# 在主程序中,我们创建了一个名为 xx 的 IOstring 类的实例,并依次调用了 get_string() 和 print_string() 方法。
# 在调用 get_string() 方法时,程序会等待用户输入,并将输入存储到实例变量 s 中。
# 在调用 print_string() 方法时,程序会将存储在实例变量 s 中的字符串打印出来,并将字符串全部转换为大写字母。

🍭3、相关知识点

🍭3.1 python中的类

在 Python 中,类是一种封装数据和方法的机制,它可以用于创建自定义对象类型。类定义了对象的属性和方法,并可以用于创建对象的实例。
要定义一个类,可以使用 class 关键字,后跟类的名称和一个冒号。在类的主体中,你可以定义类的属性和方法,如下所示:

class MyClass: # 定义了一个名为 MyClass 的类

    # 类属性
    class_variable = 0
    
    # 定义三种类型的方法:实例方法、类方法和静态方法

    # 实例方法
    def instance_method(self):
        print("This is an instance method.")

    # 类方法
    @classmethod
    def class_method(cls):
        print("This is a class method.")

    # 静态方法
    @staticmethod
    def static_method():
        print("This is a static method.")

# 要创建一个类的实例,需要调用类的构造函数,并提供必要的参数。
# 在 Python 中,类的构造函数是 __init__() 方法,它在创建对象时被自动调用。
# 例如,我们可以创建一个 MyClass 类的实例:

my_object = MyClass()

# 上面的代码将创建一个名为 my_object 的 MyClass 类的实例。我们可以使用点号 . 运算符来访问实例的属性和方法:

print(my_object.class_variable)  # 输出:0
my_object.instance_method()     # 输出:This is an instance method.
MyClass.class_method()          # 输出:This is a class method.
MyClass.static_method()         # 输出:This is a static method.

# 在上面的代码中,我们访问了实例的类属性 class_variable,调用了实例方法 instance_method(),以及调用了类方法 class_method() 和静态方法 static_method()。
🍭3.2 类中的self参数

在 Python 中,类中的 self 参数是一个特殊的参数,它表示类实例本身。在类的方法中,self 参数必须作为第一个参数出现,但在调用方法时不需要显式地传递它。

self 的作用是让类的实例能够访问类的属性和方法。当我们创建一个类的实例时,它会自动传递给每个实例方法作为第一个参数。 这样,实例方法就可以通过 self 参数来访问实例的属性和方法。

例如,下面是一个简单的类,其中包含一个实例变量 name 和一个实例方法 greet() ,它使用 self 参数来访问实例变量:

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print("Hello, my name is", self.name)

在这个例子中,__init__() 方法是一个特殊的方法,它在创建类的实例时被调用,用于初始化实例变量。greet() 方法使用 self.name 来访问实例变量 name。

当我们创建 Person 类的实例时,必须提供一个名称参数:

p = Person("Alice")

然后我们可以调用 greet() 方法来让 Person 对象打招呼:

p.greet()  # 输出:Hello, my name is Alice

在调用 greet() 方法时,self 参数会自动传递给方法,因此我们不需要显式地传递它。在方法内部,我们可以使用 self.name 来访问实例变量 name。

  • self 参数只是一个约定的名称,你可以使用其他名称来代替它,但这可能会让代码难以理解,并且不符合 Python 社区的惯例。因此,建议仍然使用 self 来表示类实例本身。
🍭3.3 __init__()方法

在 Python 中,__init__() 是一个特殊的方法,也称为构造函数初始化方法。它在创建一个类的实例时被调用,用于初始化实例的属性。

__init__() 方法有一个必需的参数 self,它表示类的实例本身。在方法内部,我们可以使用 self 参数来访问实例的属性和方法。

下面是一个简单的示例,演示了如何使用 __init__() 方法来初始化实例变量:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

在这个例子中,Person 类有两个实例变量 name 和 age,它们的值在创建类的实例时被初始化。在 __init__() 方法中,我们使用 self.name 和 self.age 来访问实例的属性。

要创建 Person 类的实例,需要调用类的构造函数,并提供必要的参数。例如:

p = Person("Alice", 18)

上面的代码将创建一个名为 p 的 Person 类的实例,它的名称是 “Alice”,年龄是 18。

需要注意的是,__init__() 方法不会返回任何值,它的作用仅仅是初始化实例的属性。如果你需要返回一个值,可以定义一个普通方法来实现。


📌 如果你对网络安全或编程感兴趣,可以搜索公众号“Y1X1n安全”,每天都会分享相关知识点,让我们一同加油!路漫漫其修远兮,吾将上下而求索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值