基础语法

数据类型

int

2//2 -> 1

4//3 -> 1

float

2/2 -> 1.0

复数

36j

bool

True or False

bool(1) -> True

bool(0) -> False

bool('asd') -> True

bool('') -> False

bool([]) -> False

bool({}) -> False

bool(None) => False

str

  • 转义符:

'let\'s go' -> \ 是转义符

print('Hello \\n World') -> 用 \ 转义 \n,不会换行

  • 多行字符串:
'''
Hello World
Hello World
'''
  • 截取字符串

'Hello World'[0] -> H

'Hello World'[0:5] -> Hello

  • 其他类型转字符串
str(12)
str([3,4,5])
str({'a': 1, 'b': 2})

进制

  • 二进制: 0b10 -> 2

  • 八进制: 0o10 -> 8

  • 十六进制: 0x1f -> 31

  • 转为二进制: bin(10) -> 0b1010

  • 转为十进制: int(0b111) -> 7

  • 转为十六进制: hex(888) -> 0x378

  • 转为八进制: oct(0b111) -> 0o7

列表 list

  • 截取列表

[1,2,3][2] -> 3

[1,2,3,4,5,6][1:3] -> [2,3]

[1,2,3,4,5,6][1:] -> [2,3,4,5,6]

  • 合并列表

[1,2,3,4]+[4,5,6] -> [1, 2, 3, 4, 4, 5, 6]

  • 追加元素
a = [1,2,3]
a.append(4)

元组 tuple

  • 元组是不可变类型,是值类型,是有序的

这里的值类型和引用类型只是 python 中关于只是否可修改的一种分类定义,并不是在堆栈中存储方式的分类。一般意义上,值类型存储在栈中,引用类型存储在堆中,但是在 python 中,一切数据都是以对象的方式存储在堆中,变量名存储在栈中,以指针的方式引用堆,不可变对象(如整数、元组)看似表现出值类型的特性,但本质仍是堆中的对象。

(1,2,3)[1] -> 2

(1,2,3,4,5,6)[1:3] -> (2,3)

  • 合并元组

(1,2,3,4)+(4,5,6) -> (1, 2, 3, 4, 4, 5, 6)

  • 定义只有一个元素的元组

(2,)

序列 API

  • str list tuple 都是序列,都是有序的

  • 序列共同拥有的 api

    • 根据索引取值 [1,2,3][2] -> 3

    • 截取 [1,2,3,4,5,6][1:3] -> [2,3]

    • (1,2,3,4)+(4,5,6) -> (1, 2, 3, 4, 4, 5, 6)

    • 是否包含 3 in [1,2,3,4] , 3 not in [1,2,3,4]

    • 长度 len([1,2,3,4])

    • 最值 max([1,2,3,4]) , min([1,2,3,4]) , max('sadfrtwe') -> w

集合 set

  • set 是无序的

  • 定义 {1,2,3,4}, 定义一个空集合 set()

  • set 中的元素不重复

  • 长度 len({1,2,3,4})

  • 是否包含 3 in {1,2,3,4} , 3 not in {1,2,3,4}

  • 求差集,排除一些元素 {12,3,4,5} - {3,4} -> {12,5}

  • 求交集 {12,3,4,5} & {3,4,8} -> {3,4}

  • 求合集 {12,3,4,5} | {3,4,8} -> {3, 4, 5, 8, 12}

字典 dict

  • 定义 {'name': 'Job', 'age': 18},字典是无序的

定义变量

foo = [1,2,3]

  • 保留字符 and | if | import | def

  • 值类型 int | float | str | tuple

  • 引用类型 list | set | dict

定义常量

全大写一般表示常量

运算符

  • +

  • -

  • *

  • /

  • // 整除

  • % 余数

  • 2**4 2 的 4 次方

  • foo and bar

  • foo or bar

  • not foo

  • in

  • not in

  • is 比较内存地址是否一致

    a = 1
    b = 1.0
    a == b # True
    a is b # False
  • not is

流程控制语句

条件语句 if

mode = True

if mode:
    print('Mode is True')
else:
    print('Mode is False')
a = input()

if a == '1':
    print('a is 1')
elif a == '2':
    print('a is 2')
else:
    print('a is ' + a)

while 循环

一般用于未知循环次数的循环

a = 0
while a < 100:
    print(a)
    a += 1
    if a < 50:
        continue # 跳过后续执行语句
    print( str(a) + '大于 50')
else:
    print('while down')

for 循环

一般用来遍历序列、集合、字典的数据

a = [2,3,4,5,6,7,8]
for x in a:
    print(x)
else:
    print('for down')
# 遍历 100 遍
for x in range(100):
    if(x == 50):
        break # 终止循环
    print(x)
for x in range(100):
    if(x == 50):
        continue # 跳过后续执行语句
    print(x)

其他

终端输入

user_account = input()

模块说明

'''
这里是模块说明,一般写在文件头部
'''