Python-day1

1. 变量

1
2
3
name = "lzc"
id = 1
b = True

1.1 数据类型

类型 举例
整数 1、0xff00、-8080
浮点数 1.23、1.23e9、1.23e-5
字符串 “I’m ok”、‘I am ok’、’’’ line1 '’’’
布尔值 True、False
空值 None

Python的整数没有大小限制。

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf

1.1.1 运算

1
2
3
4
5
6
7
8
count += 1
True and False
True or False
not True
9 / 3 >>> 3.0        /  
10 // 3 >>> 3        //  
10 % 3 >>> 1         
b = a

关于赋值

1.2 常量

在Python中,通常用全部大写的变量名表示常量,但事实上仍然是一个变量,Python根本没有任何机制生成常量。所以,用全部大写的变量名表示常量只是一个习惯上的用法,

1
PI = 3.14159265359

2. 字符串

在最新的Python 3版本中,字符串是以Unicode编码的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Python提供了ord()chr()
>>> ord('A')
65
>>> ord('')
20013
>>> chr(66)
'B'
>>> chr(25991)
''
>>> '\u4e2d\u6587'
'中文'

Python中字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes

Python对bytes类型的数据用带b前缀的单引号或双引号表示:

1
x = b'ABC'

要注意区分'ABC'b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

2.1 字符串和字节串之间的转化

1
2
3
4
5
6
7
8
9
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'

>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

2.2 字符数和字节数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
>>> len('ABC')
3
>>> len('中文')
2

>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6

2.3 格式化

1
2
3
4
5
6
7
8
9

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

format
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

3. 编码

1
2
3
4
5
6
#!/usr/bin/env python3

# -*- coding: utf-8 -*-


Linux/OS X系统Python可执行程序Windows系统会忽略这个注释
Python解释器UTF-8
UTF-8.py文件就是UTF-8使UTF-8 without BOM编码

4. 循环

if 语句

1
2
3
4
5
6
if _username == username and _password == password:

elif:

else:

while 语句

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
python中while也有else语句

count = 0
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age > age:
        print("think smaller...")
    elif guess_age < age:
        print("think bigger!")
    else:
        print("yes, you got it")
        break
    count += 1
else:
    print("you try too many times")

for 语句

1
2
for i in range(10):
    print('loop ', i)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
python中for也有else语句

count = 0
for i in range(3):
    guess_age = int(input("guess age:"))
    if guess_age > age:
        print("think smaller...")
    elif guess_age < age:
        print("think bigger!")
    else:
        print("yes, you got it")
        break
    count += 1
else:
    print("you try too many times")
1
2
3
4
5
6
7
8
9
for i in range(0, 10, 2):
    print('loop ', i)


>>> loop 0
>>> loop 2
>>> loop 4
>>> loop 6
>>> loop 8