Python学习笔记(二)

Python基础

控制台输入

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

>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog

python使用”%”作为替代符,与C类似:

>>> print('str: %s \nint: %d' % ('string', 100))
str: string 
int: 100

数据类型和运算

转义

使用”\”作为转义字符

# iamok.py
print('I\'m \"OK\"!')

$ python iamok.py
I'm "OK"

可以使用r’ ‘包含字符串进行整段文字的转义:

>>> print('abc\nde')
abc
de
>>> print(r'abc\nde')
abc\nde
>>> print('abc\\nde')
abc\nde

布尔值

布尔值包括True和False,需要区分大小写:

>>> True
True
>>> true
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined

空值

Python中的空值用None表示,不是Null

>>> None
>>> Null
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'Null' is not defined

除法

Python提供了“/”、“//”、“%”三种除法,三种除法结果如下:

>>> 10/3
3.3333333333333335
>>> 10//3
3
>>> 10%3
1

第一个结果结尾是5而不是3的原因可能和计算机二进制有关,没有深究。

编码

字符串编码规则十分复杂,这里不作深究。只需记住,通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码。

list

list是一个有序集合(有序集合不就是数组么,为啥还要叫集合?),基本用法如下:

>>> list = ['str1', 'str2', 'str3']
>>> list
['str1', 'str2', 'str3']
>>> len(list)
3
>>> list[0]
'str1'
>>> list[-1]
'str3'

确实就是集合嘛,可以用-1取最后的值,-n以此类推。

下面有一些对list的基本操作:

>>> list.append('str4')    # 在末尾加入元素
>>> list.insert(0,'str0')    # 在指定位置插入元素
>>> list
['str0', 'str1', 'str2', 'str3', 'str4']
>>> list.pop(3)    # pop出指定位置元素
'str3'
>>> list[2] = ['int0','int1']
>>> list
['str0', 'str1', ['int0', 'int1'], 'str4']    # 可以存在二维list
>>> list[2][1]
'int1'

tuple

和list唯一不同的地方在鱼tuple定义后不能修改。定义时使用”( )”而不是list的”[ ]”

需要注意的地方是只有一个元素时需要在结尾加上逗号

>>> t = (1)      # 错误,定义的是t=1,括号被解释成了数学上的小括号
>>> t = (1,)     # 正确

dict

字典,其实就是以Key-Value的方式存储的数据对:

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

注意:返回None的时候Python的交互式命令行不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

set

set是数学意义上的集合,无序不重复,以list作为输入

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}

使用add和remove方法增减元素

>>> s.add(4)
>>> s
{1, 2, 3, 4}

两个set可以做数学意义上的交集、并集等操作:

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

代码逻辑

判断逻辑

使用if、elif、else三个保留字

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

循环逻辑

使用for关键字

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

range(101)就可以生成0-100的整数序列,计算如下:

sum = 0
for x in range(101):
    sum = sum + x
print(sum)

 

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注