# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
-
自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义
-
#
是注释,其他每一行都是一个语句,当语句以冒号“:”结尾时,缩进的语句视为代码块。
-
Python程序是大小写敏感的
-
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。
数据类型和变量
'I\'m \"OK\"!'
>>> print '\\\t\\'
\ \
>>> print r'\\\t\\'
\\\t\\
print('''line1
line2
line3''')
>>> 9 / 3
3.0
>>> 10 // 3
3
字符编码
-
ASCII : 127个字符
-
Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了
-
UTF-8编码把Unicode编码转化为“可变长编码”的。
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
-
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
Python的字符串
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
>>> '\u4e2d\u6587'
'中文'
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
# -*- coding: utf-8 -*-
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
使用list和tuple
classmates = ['Michael', 'Bob', 'Tracy']
classmates[-1]
classmates.append('Adam')
classmates.insert(1, 'Jack')
classmates.pop() # 删除list末尾的元素
classmates.pop(1) # 删除指定位置的元素
classmates[1] = 'Sarah'
-
tuple和list非常类似,但是tuple一旦初始化就不能修改
-
能用tuple代替list就尽量用tuple
-
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义
t = (2)
-
在tuple中放入list,这样看上去就能修改tuple
tt = ("a", "b", [4,5,9])
条件判断
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
循环