Python基础学习笔记(二)有哪些重点内容?

2026-05-21 19:043阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计2420个文字,预计阅读时间需要10分钟。

Python基础学习笔记(二)有哪些重点内容?

继承是面向对象编程中的一个核心概念,它允许我们创建一个新的类(子类),继承自另一个已有的类(父类)。子类可以继承父类的方法和属性,也可以添加自己独特的方法和属性。

解释在Python中,使用继承可以简化代码重用和扩展。以下是一些基本的概念和用法:

1. 定义父类:首先定义一个包含通用方法和属性的类。

2.定义子类:使用`class`关键字创建子类,并通过`继承`操作符`:`后跟父类名来指定继承关系。

3.访问父类属性和方法:子类可以直接访问父类中定义的属性和方法。

4.重写方法:子类可以重写(覆盖)从父类继承来的方法,以提供特定的实现。

5.多继承:Python支持多继承,即一个子类可以继承自多个父类。

使用注释

为了提高代码的可读性和可维护性,使用注释是非常有效的。以下是使用注释的一些示例:

- 解释代码功能:在代码的上方或关键部分添加注释,说明代码的功能和目的。- 说明复杂逻辑:对于复杂的算法或逻辑,使用注释来逐步解释。- 记录变更:在代码修改后,添加注释说明变更的原因和日期。

使用注释不仅有助于他人理解代码,也便于自己回顾和修改旧代码。

pythonclass Animal: 定义一个动物类,包含所有动物的基本属性和方法。 def __init__(self, name): self.name=name

def speak(self): 所有动物都可以发出声音,具体声音由子类实现。 pass

class Dog(Animal): 定义一个狗类,继承自Animal类,并添加狗特有的属性和方法。 def speak(self): 狗会汪汪叫。 return f{self.name} says: Woof!

class Cat(Animal): 定义一个猫类,继承自Animal类,并添加猫特有的属性和方法。 def speak(self): 猫会喵喵叫。 return f{self.name} says: Meow!

创建狗和猫的实例dog=Dog(Buddy)cat=Cat(Kitty)

调用方法并打印结果print(dog.speak()) # Buddy says: Woof!print(cat.speak()) # Kitty says: Meow!

以上代码展示了继承和多继承的基本用法,以及如何使用注释来解释代码。

继续第一篇的内容,讲解,python的一些基本的东西。

注释

为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。

>>> #获得用户名:
>>> user_name = raw_input("what is your name?")

在python中用井号(#)表示注释。井号(#)右边的内存将不被程序执行。即使没有注释,也应该让代码本身易于理解。幸好!Python是一门出色的语言,它能帮助程序员编写易于理解的程序。^_^

字符串


单引号字符串和转义引号

>>> "hello,world"
'hello,world'

>>> '"hello ,world" she said'
'"hello ,world" she said'

>>> "'hello,world' she said"
"'hello,world' she said"

第一个输出,明明是双引号(“”),怎么输入变成了单引号(‘’)。这有什么区别呢?事实上,没有区别。

再看第二个,单引导(‘’)里面包含了一对双引号(“”),这次完整输出了。难道只有双引号输出会变成单引号么?

再看第三个,双引号(“”)号里面包含了一对单引号(‘’),这次为什么没把最外面的双引号变成单引号输出?这编译器比较情绪化,呵呵!

>>> "Let's go"
"Let's go"

>>>'Let's go'
SyntaxError: invalid syntax

>>> 'Let\'s go'
"Let's go"

第一个输出,双引号包含一个单引号(实际上应该叫撇(‘),因为它不是成对出现的。)可以正常输出。

第二个输出,一对单引号里面包含了一个单引号(这应该是输入者的本意)。编译器不知道怎么识别了。

第三个输出,为了达到这个目的,我们需要把中间的单引号用斜杠(\)进行转义。这次又不一样了,单引号输出之后变成了双引号。编译器,你真调皮。

Python基础学习笔记(二)有哪些重点内容?

拼接字符串

下面试试加号(+)来拼接一个字符

>>> "helle,"+"world!"
'helle,world!'

>>> x="hello,"
>>> y="world!"
>>> x+y
'hello,world!'

字符串表示,str和repr

前面的例子读者可能注意到,所有通过python打印的字符串还是被引号括起来的。这是因为python打印值的时候会保持该值在python代码中的状态,而不是你希望用户所看到的状态。如果用print语句,结果就不一样了:

>>> "hello,world!"
'hello,world!'
>>> 10000L
10000L

>>> print "hello,world!"
hello,world!
>>> print 10000L
10000

可以看到,长整型数10000L被转换成了数字10000,而且在显示给用户的时候也如此。

我们在这里讨论的实际上是值被转为字符的两种机制。可以通过以下两个函数来使用这两种机制:

>>> print str("hello,world!")
hello,world!
>>> print str(10000L)
10000

>>> print repr("hello,world!")
'hello,world!'
>>> print repr(10000L)
10000L

str()函数,它会把值转换为合理形式的字符串,以例用户可以理解;

repr()函数,它会创建一个字符串,它以合法的python表达式的形式来表示值。

input和raw_input的比较

上一章的最后一个例子用到了raw_input函数,那它与input有什么不用?下面我们用input函数,再试试那个例子。

>>> name = input("what is your name?")
what is your name?huhu

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
name = input("what is your name?")
File "<string>", line 1, in <module>
NameError: name 'huhu' is not defined

>>> name = input("what is name?")
what is name?"huhu"
>>> print "hello, " + name + " !"
hello, huhu !

input()函数会假设用户输入的是合法的python表达式。所以直接输入huhu系统会提示错误,但是如果加上引号(“huhu”)就会是一个合法的字符,程序运行是没有问题的。

然而,要求用户带着引号输入他们的名字有点过份,因此,就这需要使用raw_input函数。

>>> input("enter a namber:")
enter a namber:3
3
>>> raw_input("enter a namber:")
enter a namber:3
'3'

当然input有特别的需要,比如要求用户输入数字时。

长字符串

如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号带点普通引号。

>>> print ''' this is a very long string.
It continues here.
and it's not over yet.
'''
this is a very long string.
It continues here.
and it's not over yet.

普通字符串也可以跨行。如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了,也就是被忽略了。

>>> print " Hello.\
world!"
Hello.world!
>>> 1+2+\
4+5
12

原始字符串

>>> path ='C:\abc'
>>> print path
C:bc

怎么会这样呢,我想输入的是一个路径,却被换行了。

>>> print 'C:\\abc'
C:\abc
>>> print 'C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz'
C:\Program Files\fnord\foo\bar\baz\frozz

通过上面的双斜线(\\)解决了路径问题,但如果路径很长的话会不会太麻烦了。

>>> print r'C:\Program Files\fnord\foo\bar\baz\frozz'
C:\Program Files\fnord\foo\bar\baz\frozz

>>> print r'Let\'s go !'
Let\'s go !

原始字符串不会把反斜线当作特殊字符。可以看到,原始字符串以r开头。

Unicode字符串

字符串常量的最后一种类型就是Unicode字符串(或者称为Unicode对象---与字符串并不是同一个类型)。Python中的普通字符串在内部是以8位ASCII码形成存储的,而Unicode字符串则存储为16位Unicode字符,这样就能够表示更多的字符集了,包括世界上大多数语言的特殊字符。

如果你不短简什么是Unicode,可以访问Unicode网站:​​www.unicode.org​​

>>> u'hello, world!'
u'hello, world!'

可以看到,Unicode字符串使用u前缀,就像原始字符串使用r一样。

注意:在python3.0中,所有字符串都是Unicode字符串。




本文共计2420个文字,预计阅读时间需要10分钟。

Python基础学习笔记(二)有哪些重点内容?

继承是面向对象编程中的一个核心概念,它允许我们创建一个新的类(子类),继承自另一个已有的类(父类)。子类可以继承父类的方法和属性,也可以添加自己独特的方法和属性。

解释在Python中,使用继承可以简化代码重用和扩展。以下是一些基本的概念和用法:

1. 定义父类:首先定义一个包含通用方法和属性的类。

2.定义子类:使用`class`关键字创建子类,并通过`继承`操作符`:`后跟父类名来指定继承关系。

3.访问父类属性和方法:子类可以直接访问父类中定义的属性和方法。

4.重写方法:子类可以重写(覆盖)从父类继承来的方法,以提供特定的实现。

5.多继承:Python支持多继承,即一个子类可以继承自多个父类。

使用注释

为了提高代码的可读性和可维护性,使用注释是非常有效的。以下是使用注释的一些示例:

- 解释代码功能:在代码的上方或关键部分添加注释,说明代码的功能和目的。- 说明复杂逻辑:对于复杂的算法或逻辑,使用注释来逐步解释。- 记录变更:在代码修改后,添加注释说明变更的原因和日期。

使用注释不仅有助于他人理解代码,也便于自己回顾和修改旧代码。

pythonclass Animal: 定义一个动物类,包含所有动物的基本属性和方法。 def __init__(self, name): self.name=name

def speak(self): 所有动物都可以发出声音,具体声音由子类实现。 pass

class Dog(Animal): 定义一个狗类,继承自Animal类,并添加狗特有的属性和方法。 def speak(self): 狗会汪汪叫。 return f{self.name} says: Woof!

class Cat(Animal): 定义一个猫类,继承自Animal类,并添加猫特有的属性和方法。 def speak(self): 猫会喵喵叫。 return f{self.name} says: Meow!

创建狗和猫的实例dog=Dog(Buddy)cat=Cat(Kitty)

调用方法并打印结果print(dog.speak()) # Buddy says: Woof!print(cat.speak()) # Kitty says: Meow!

以上代码展示了继承和多继承的基本用法,以及如何使用注释来解释代码。

继续第一篇的内容,讲解,python的一些基本的东西。

注释

为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。

>>> #获得用户名:
>>> user_name = raw_input("what is your name?")

在python中用井号(#)表示注释。井号(#)右边的内存将不被程序执行。即使没有注释,也应该让代码本身易于理解。幸好!Python是一门出色的语言,它能帮助程序员编写易于理解的程序。^_^

字符串


单引号字符串和转义引号

>>> "hello,world"
'hello,world'

>>> '"hello ,world" she said'
'"hello ,world" she said'

>>> "'hello,world' she said"
"'hello,world' she said"

第一个输出,明明是双引号(“”),怎么输入变成了单引号(‘’)。这有什么区别呢?事实上,没有区别。

再看第二个,单引导(‘’)里面包含了一对双引号(“”),这次完整输出了。难道只有双引号输出会变成单引号么?

再看第三个,双引号(“”)号里面包含了一对单引号(‘’),这次为什么没把最外面的双引号变成单引号输出?这编译器比较情绪化,呵呵!

>>> "Let's go"
"Let's go"

>>>'Let's go'
SyntaxError: invalid syntax

>>> 'Let\'s go'
"Let's go"

第一个输出,双引号包含一个单引号(实际上应该叫撇(‘),因为它不是成对出现的。)可以正常输出。

第二个输出,一对单引号里面包含了一个单引号(这应该是输入者的本意)。编译器不知道怎么识别了。

第三个输出,为了达到这个目的,我们需要把中间的单引号用斜杠(\)进行转义。这次又不一样了,单引号输出之后变成了双引号。编译器,你真调皮。

Python基础学习笔记(二)有哪些重点内容?

拼接字符串

下面试试加号(+)来拼接一个字符

>>> "helle,"+"world!"
'helle,world!'

>>> x="hello,"
>>> y="world!"
>>> x+y
'hello,world!'

字符串表示,str和repr

前面的例子读者可能注意到,所有通过python打印的字符串还是被引号括起来的。这是因为python打印值的时候会保持该值在python代码中的状态,而不是你希望用户所看到的状态。如果用print语句,结果就不一样了:

>>> "hello,world!"
'hello,world!'
>>> 10000L
10000L

>>> print "hello,world!"
hello,world!
>>> print 10000L
10000

可以看到,长整型数10000L被转换成了数字10000,而且在显示给用户的时候也如此。

我们在这里讨论的实际上是值被转为字符的两种机制。可以通过以下两个函数来使用这两种机制:

>>> print str("hello,world!")
hello,world!
>>> print str(10000L)
10000

>>> print repr("hello,world!")
'hello,world!'
>>> print repr(10000L)
10000L

str()函数,它会把值转换为合理形式的字符串,以例用户可以理解;

repr()函数,它会创建一个字符串,它以合法的python表达式的形式来表示值。

input和raw_input的比较

上一章的最后一个例子用到了raw_input函数,那它与input有什么不用?下面我们用input函数,再试试那个例子。

>>> name = input("what is your name?")
what is your name?huhu

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
name = input("what is your name?")
File "<string>", line 1, in <module>
NameError: name 'huhu' is not defined

>>> name = input("what is name?")
what is name?"huhu"
>>> print "hello, " + name + " !"
hello, huhu !

input()函数会假设用户输入的是合法的python表达式。所以直接输入huhu系统会提示错误,但是如果加上引号(“huhu”)就会是一个合法的字符,程序运行是没有问题的。

然而,要求用户带着引号输入他们的名字有点过份,因此,就这需要使用raw_input函数。

>>> input("enter a namber:")
enter a namber:3
3
>>> raw_input("enter a namber:")
enter a namber:3
'3'

当然input有特别的需要,比如要求用户输入数字时。

长字符串

如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号带点普通引号。

>>> print ''' this is a very long string.
It continues here.
and it's not over yet.
'''
this is a very long string.
It continues here.
and it's not over yet.

普通字符串也可以跨行。如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了,也就是被忽略了。

>>> print " Hello.\
world!"
Hello.world!
>>> 1+2+\
4+5
12

原始字符串

>>> path ='C:\abc'
>>> print path
C:bc

怎么会这样呢,我想输入的是一个路径,却被换行了。

>>> print 'C:\\abc'
C:\abc
>>> print 'C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz'
C:\Program Files\fnord\foo\bar\baz\frozz

通过上面的双斜线(\\)解决了路径问题,但如果路径很长的话会不会太麻烦了。

>>> print r'C:\Program Files\fnord\foo\bar\baz\frozz'
C:\Program Files\fnord\foo\bar\baz\frozz

>>> print r'Let\'s go !'
Let\'s go !

原始字符串不会把反斜线当作特殊字符。可以看到,原始字符串以r开头。

Unicode字符串

字符串常量的最后一种类型就是Unicode字符串(或者称为Unicode对象---与字符串并不是同一个类型)。Python中的普通字符串在内部是以8位ASCII码形成存储的,而Unicode字符串则存储为16位Unicode字符,这样就能够表示更多的字符集了,包括世界上大多数语言的特殊字符。

如果你不短简什么是Unicode,可以访问Unicode网站:​​www.unicode.org​​

>>> u'hello, world!'
u'hello, world!'

可以看到,Unicode字符串使用u前缀,就像原始字符串使用r一样。

注意:在python3.0中,所有字符串都是Unicode字符串。