>>python
>>exit()
>>print('hello world') #井号是注释符号,单引号,不是双引号,print不是printf
两种模式:命令模式和交互模式
Python交互模式的代码是你输入一行,它执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。
print支持多个字符串,以逗号隔开,每遇到一个逗号就输出一个空格。
print('100+200 =', 100+200)
输入input()
name = input()
print('your name is', name)
注意,input的输入为字符串类型,如果要和整数比较,必须进行转换,比如使用int()函数
浮点数
1.23x109就是1.23e9,或者12.3e8
字符串
单引号或者双引号括起来的,如果字符串中包含单引号或者双引号,可以使用\转义字符。\\表示\
如果Python字符串很长,允许用'''...'''的格式表示多行内容(替换\n)。
布尔值
True False
与或非
and or not
空值
None
常量
通常使用大写来表示常量
除法
/表示科学上的除以,也就是带小数的;//表示不带小数,直接取整的除法
字符编码
ASCII占用1个字节,Unicode占用2个,但是2个太浪费,1个又不够用,于是出现了UTF-8格式编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
Python中的字符串使用的是Unicode,也就是说,Python字符串支持中文。
Python对bytes类型的数据用带b前缀的单引号或双引号表示
x = b'ABC'为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
# -*- coding: utf-8 -*-
为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
格式化字符串输出,使用%
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
print('%2d-%02d' % (3, 3))
0代表是否补零
如果%是一个普通字符,需要使用%%转义
format()
格式化字符串方法
list列表
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
-1代表最后一个元素
>>> classmates[-1]
'Tracy'
list各种方法:pop, append, insert
tuple元组
与list类似,但是tuple一单初始化就不可更改,list用[],tuple用(),tuple没有append,insert等方法。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
t = (1,)
print(t)
条件判断
if条件判断,注意不要忘记判断条件后的冒号:
if :
elif :
elif :
else:
循环
for...in循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
range(x)函数,生成0到x-1的整数序列
sum = 0
for x in range(101):
sum = sum + x
print(sum)
第二种是while循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
break和continue与C语言用法相同
字典dict
可以理解为map,键值对key-value,具有极快的查找速度
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
键值对中间以冒号:分隔。
当使用dict时,要避免key不存在的错误,有两种方法,一种是使用in函数,比如
>>> 'Thomas' in d
False
二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。
需要牢记的第一条就是dict的key必须是不可变对象。
set集合
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
set有add和remove方法