第2章 快速入门

1、程序输出

>>>mystr = 'hello world'
>>>mystr    # 仅用变量名,显示的是该对象的字符串表示,而不仅仅是字符串本本身。引号表示刚输出的变量的值是一个字符串
'hello world'
>>>print(mystr)  # print()语句调用str()函数显示对象,而交互式编辑器则调用repr()函数来显示对象。
hello world
>>>_        # 下划线(_)在解释器中表示最后一个表达式的值
'hello world'

>>>print("%s is No.%d" % ('China', 1))  # 使用字符串格式操作符%(常用的%s表示由一个字符串来替换,%d表示由一个整型来替换,%f表示由一个浮点型来替换)
China is No.1


2、程序输入

Python3.x中已修改为input()函数,其接受任意输入,将所有输入默认为字符串处理, 并返回字符串类型。

>>>myname = input("请输入姓名:")
请输入姓名:>? 金豆子
>>>print(myname)
金豆子

3、操作符

3.1 标准算术操作符

(1)单斜杠为浮点数除法,返回浮点结果
print(5/3) == 1.666667 

(2)双斜杠为整数除法,返回不大于结果的一个最大的整数 
print(5//3) == 1

 操作符的优先级:+和-的最低,*、/、//、%的较高,单目操作符+和-优先级更好,乘方(**)的优先级最高。

3.2 标准比较操作符

比较运算根据表达式的值的真假返回布尔值

<、<=、>、>=、==、!=

>>>6>2
True
>>>6<=2
False

3.3 逻辑操作符

and、or、not

使用逻辑操作符可以将任意表达式连接在一起,并得到一个布尔值

>>>2 < 4 and 2 == 4
False
>>>2 >1 or 2 >= 3
True
>>>not 7 <= 6
True
>>>3 < 4 < 5
True

4、变量和赋值

变量名有字母、数字、下划线(_)组成,且以字母或下划线(_)开始,对大小写敏感。

5、数字

Python支持五种基本数字类型:有符号整型(int)、长整型(long)、布尔值(bool)、浮点型(float)、复数(complex)。

布尔值是特殊的整型,比如将布尔值与数字相加,则True会被当成整型值1(True+1=2),而False会被当成整型值0(False+1=1)

6、字符串

Python中字符串被定义为引号之间的字符集合。

使用索引操作符([])和切片操作符([:])可以得到子字符串。第一个字符的索引是0,最后一个字符的索引是-1。

加号(+)用于字符串的连接运算,星号(*)则用于字符串重复。

>>>'hello' + 'world'
'helloworld'
>>>'hello'*2
'hellohello'

 7、列表和元组

可以将列表和元组当成普通的“数组”。和数组一样,通过从0开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。

列表元素用中括号([])包裹,元素的个数和值可以改变。

元组元素用小括号(())包括,不可以更改(尽管它们的内容可以)。元组可以看成是只读的列表。通过切片运算([]和[:])可以得到自己。

>>> a = (1, 2, 3)
>>> a[0]
1
>>> a[:]
(1, 2, 3)
>>> a[0] = 4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> a = (4, 5)
>>> a[0]
4

8、字典

字典是Python中的映射数据类型,由键-值(key-value)对构成。

几乎所有类型的Python对象都可以用作键,不过一般还是以数字或者字符串最为常用。

值可以是任意类型的Python对象,字典元素用大括号({})包裹。

>>> info = {'name': 'lily', 'age': 10}
>>> info
{'name': 'lily', 'age': 10}
>>> info['name']
'lily'
>>> info['age'] = 20
>>> info
{'name': 'lily', 'age': 20}
>>> for key, value in info.items():
...     print(key, value)
...
name lily
age 20
>>>

9、if语句

标准的if条件语句的语法如下:

if expression:
    if_suite

如果表达式的值非0或者为布尔值True,则代码组if_suite被执行;否则就去执行下一条语句。

python还支持elif(意指“else-if”)语句,语法如下:

if expression1:
    if_suite
elif expression2:
    elif_suite
else:
    else_suite

10、while循环

标准while条件循环语句的语法类似if。

while expression:
    while_suite

语句while_suite会被连续不断地循环执行,直到表达式的值变为0或False,接着Python会执行下一句代码。

>>> counter = 0
>>> while counter < 3:
...     print("loop #%d" % counter)
...     counter += 1
...
loop #0
loop #1
loop #2
>>>

11、for循环和range()内建函数

Python中的for接受可迭代对象(例如序列或迭代器)作为其参数,每次迭代其中一个元素。

>>> for item in ['a', 'b', 'c']:
...     print(item)
...
a
b
c
>>> for value in range(5):
...     print(value)
...
0
1
2
3
4
>>>

range()函数经常和len()函数一起用于字符串索引。

>>> foo = 'abc'
>>> for i in range(len(foo)):
...     print(foo[i])
...
a
b
c
>>> for i, ch in enumerate(foo):      # enumerate()实现了索引和循环,i为索引,ch循环元素
...     print("索引:",i, "元素值:",ch)
...
索引: 0 元素值: a
索引: 1 元素值: b
索引: 2 元素值: c
>>>

 12、列表解析

>>> squ = [x ** 2 for x in range(4)]
>>> squ
[0, 1, 4, 9]
>>> sqdEvents = [x ** 2 for x in range(8) if not x % 2]
>>> sqdEvents
[0, 4, 16, 36]
>>> sqdEvents = [x ** 2 for x in range(8) if x % 2]
>>> sqdEvents
[1, 9, 25, 49]

13、错误和异常

try:
    try_suite
except Exception as e:
    raise e
else:
    else_suite

若try_suite语句为真,则执行else_suite,否则为raise e抛出异常。

14、函数

Python中的函数使用小括号()调用。函数在调用之前必须先定义。如果函数中没有return语句,就会自动返回None对象。

# 定义函数
def function_name([arguments]):
    function_suite

函数的参数可以有默认值。它表示函数调用时如果没有提供这个参数,它就取默认值为参数。

15、类

使用class关键字定义类。可以提供一个可选的父类或基类。

class行之后是可选的文档字符串、静态成员及方法定义。

class FooClass():
    '''文档字符串'''
    version = 1.0       # 静态成员

    def __init__(self, name='Jony'):
        '''类似构造器'''
        self.name = name     # 类实例属性,仅在类实例中存在。self是类实例自身的引用。如其它面向对象语言的this标识符

    def func1(self):
        '''方法定义'''
        print(self.version)     # 引用静态变量

    def func2(self):
        print(self.name)

  def func3(self):
     print(self.__class__.name)  # 表示实例化它的类的名字
foo
= FooClass()  # 创建类实例 foo.func1() foo.func2()
foo.func3()
# 输出 
1.0
Jony
FooClass

当一个类实例被创建时,__init__()方法会自动执行,在类实例创建完毕后执行,类似构造器。它的目的是执行一些该对象的必要初始化工作。

 

posted @ 2021-08-15 10:07  Maruying  阅读(45)  评论(0编辑  收藏  举报