Python入门

标签: Python
9人阅读 评论(0) 收藏 举报
分类:

参考此教程:Python教程

几个需要注意的点

  • 注释:以#开头的语句
  • Python使用缩进来组织代码块,使用4个空格的缩进。在文本剪辑器中,需要设置把Tab自动转换成4个空格,确保不混用Tab和空格。
  • Python程序是大小写敏感的

输入和输出

输出

用print()可以向屏幕上输出指定的文字。比如输出“hello world”:

print('hello, world')

print()函数可以接受多个字符串,用逗号“,”分隔开,Python依次打印每个字符串,遇到逗号“,”会输出一个空格:

print('The quick brown fox', 'jumps over', 'the lazy dog')
输出格式化的字符串

Python的输出方式与C语言一致,用 % 实现

输出整数:

>>> print('%2d-%02d' % (3, 1))
3-01

输出浮点数:

>>> print('%.2f' % 3.1415926)
3.14

输入

Python提供input()函数,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:

name = input()

这时,Python交互式命令行就在等待你的输入了。你可以输入任意字符,然后按回车完成输入。输入的内容存储在name变量中。

数据类型

整数

Python可以处理任意大小的整数,当然包括负整数。十六进制使用 0x 前缀和0-9、a-f表示。例如: 0xff00

浮点数

浮点数可以使用数学写法表示,也可以使用科学记数法表示。但是对于很大或很小的浮点数,就必须用科学计数法表示,用e代替10,1.23 * 10^9就是1.23e9,也可以写成12.3e8。0.000012可以写成1.2e-5,等等。

浮点数的运算可能存在有四舍五入的误差。

字符串

字符串是以单引号 ' ' 或双引号 "" 括起来的任意文本。 一些特殊字符可以使用转义字符 \ 来标识。

布尔值

布尔值只有TrueFalse两种值。可以进行andornot运算。

空值

空值是Python里一个特殊的值,用None表示。

数据类型转换

int()函数可以把其他数据类型转换成整数,hex()函数可以把一个整数转换成十六进制表示的字符串。

字符编码

现在计算机系统通用的字符编码工作方式为:

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换成UTF-8编码。

在最新的Python 3版本中,字符串是以Unicode编码的,支持多种语言。

可以使用Python提供的ord()函数来获取字符的整数表示,chr()函数来把编码转换成对应的字符:

>>> ord('中')
20013
>>> chr(20013)
'中'

List 、 Tuple、Dict、Set

List

list是一种有序的集合,可以随时添加和删除其中的元素。len()函数可以获得list元素的个数,append()函数可以追加元素到list的末尾,insert()函数可以把元素插入到指定的位置,pop()函数可以删除list末尾的元素,pop(i)可以删除指定位置的元素。要把某个元素替换成个别的元素,可以直接赋值给对应的索引位置。

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
>>> len(classmates)
3

>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

>>> classmates[-1]
'Tracy'
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']

>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']

Tuple

tuple和list非常类似,但是tuple一旦初始化就不能修改,也没有append()这些方法。使用tuple可以让代码更安全,因此如果可能,能用tuple代替list就尽量用tuple。

>>> t = (1, 2)
>>> t
(1, 2)

Dict

Python内置了字典:dict。使用键-值(key-value)存储,具有极快的查找速度。dict利用key值计算出存储value值的地址,直接取出来,所以速度非常快。需要谨记的是,dict的key必须是不可变的对象。通过get()函数可以取出value值,pop(key)可以删除一个key,对应的value也会从dict中删除。

List和Dict的比较;

List:

  • 查找和插入的时间随着元素的增加而增加
  • 占用空间小,浪费内存很少
Dict:

  • 查找和插入的速度极快,不会随着key的增加而变慢
  • 需要占用大量的内存,内存浪费多

所以,dict是空间来换取时间的一种方法。

Set

set和dict类似,也是一组key的集合,但不能存储value。由于key不能重复,所以在set中没有重复的key。重复元素在set中自动被过滤。add(key)可以添加元素到set中,remove(key)可以删除元素。set可以看成数学意义上的无序和无重复元素的集合,因此两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

定义函数

使用 def 语句定义函数,在缩进块中编写函数体,用 return 语句返回函数的返回值,记得不要漏掉冒号。例如:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

函数可以放回多个值。定义函数:

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny

获得返回值:

>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

返回值其实是一个tuple。但是在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。

查看评论
    个人资料
    等级:
    访问量: 95
    积分: 92
    排名: 142万+
    文章分类
    文章存档