Skip to content

Latest commit

 

History

History
540 lines (385 loc) · 7.32 KB

快速入门.md

File metadata and controls

540 lines (385 loc) · 7.32 KB

变量定义

命名规则

  1. 第一个字符必须是字母或者下划线
  2. 其他字符必须是字母、数字或下划线
  3. 大小写敏感

多变量赋值

同时为多个变量进行赋值

a = b = c = 3

也可以分别对多个变量进行赋值

a, b, c = 1, 2, 3

检测数据类型type(),得到的结果是类,因为 Python 对变量赋值都是以对象的方式

a = 1
print(type(a))   # <class 'int'>

删除对象del

a = 1
del a

运算符

算术运算符

取模 %(取余数)

print(6 % 3) # 0
print(6 % 4) # 2

除法结果取整 //

print(6 // 3) # 2
print(6 // 4) # 1

逻辑运算法

and

print(True and False) # False

or

print(False or True) # True

not

print(not True) # False

成员运算符

检测某个对象是否在某个序列中

in

a = [1,2,3]
print(1 in a) # True

not in

a = [1,2,3]
print(1 not in a) # False

身份运算符

判断是否为同一个对象

isis not

a = [1,2,3]
b = [1,5,6]
print(a is b) # False
print(a[0] is b[0]) # True

字符串

字符串插入

如果想将aaa变为abbbaa

a = 'aaa'
a = a[:1] + 'bbb' + a[1:]
print(a) # abbbaa

字符串格式化

%表示格式化标识符,s表示格式化的内容是字符串(如果是数字则是d),然后在后面的%中填入要格式化的内容

print('flten%s' %('wall')) # fltenwall

函数

函数定义

def fn(a,b,c):
    print(a,b,c)

给函数参数传入默认值

def fn(a = 0,b = 0,c = 0):
    print(a,b,c)

变量作用域

内建作用域

a = int(32)

全局作用域

a = 3 # 全局作用域
def fn():
    print(a)

任何位置都可以访问到a

局部作用域

def fn():
    a = 3 # 局部作用域
    print(a)
fn()

只有在函数中才可以访问到a

闭包作用域

def fn():
    a = 3 # 闭包作用域
    def fn2():
        print(a)
    fn2()
fn()

a定义在外层函数fn中,但在fn2函数中可以访问到

流程控制

条件判断

只有if-elif-else,没有switch

a = 10
if a < 10:
    print('<10')
elif a == 10:
    print('=10')
else:
    print('>10')

while 循环

a = 100
sum = 0
index = 1
while index <= a:
    sum += index
    index+=1
else:
    print(sum)

for循环

python中for循环与javascript有很大不同。python中的for循环是对序列(字符串、列表、元组、集合、字典)进行循环,可以使用range函数生成一个序列

a = 10
for i in range(a):
    print(i)

range(start, stop, step)接收三个参数,从start开始到stop,中间步长(间隔)是step

for i in range(0, 10, 2):
    print(i)

直接对一个序列进行循环

a = [1,2,3,4,5]
for i in a:
    print(i)

跳出本次循环continue, 跳出循环break

for i in range(0, 10, 2):
    if i == 6:
        continue
    if i == 8:
        break
    print(i)

'''
0
2
4
'''

内置数据类型初识

列表

列表中可以存储任意数据类型,且数据可以随便改变

a = [1, 'a']
a[0] = 100
print(a) # [100, 'a']

元组

元组中可以存储任意数据类型,但数据不可改变

a = (1, 'a')
print(a) # (1, 'a')

集合

集合中可以存储任意数据类型,但数据不可重复(重复默认无效)

a = {1, 1, 'a'}
print(a) # {1, 'a'}

字典

以键值对形式进行存储

a = {'a':1, 'b':2}
print(a) # {'a': 1, 'b': 2}

列表

列表合并

a = [1,2,'1.1', True]
b = [3, '4.5']
print(a + b) # [1, 2, '1.1', True, 3, '4.5']
c = a + b
print(c) # [1, 2, '1.1', True, 3, '4.5']

列表切片进行整体修改

a = [1,2,'1.1', True]
a[1:3] = [100, 100]
print(a) # [1, 100, 100, True]

修改下标为1 到 3(不包含)的元素值

列表循环

列表属于序列,可以使用for进行循环

a = [1,2,'1.1']
for val in a:
    print(val) # 1,2,'1.1

成员关系检测

使用innot in进行成员关系检测,判断成员是否在列表中

set1 = ['a','b','c']
if 'a' in set1:
    print('a in set1')
if 'd' not in set1:
    print('d not in set1')

元组

元组切片

a = (1,2,'1.1', True)
print(a[1:3]) # (2, '1.1')

元组拼接

a = (1,2,'1.1', True)
b = (3, '4.5')
c = a + b
print(c) # (1, 2, '1.1', True, 3, '4.5')

元组内部的复杂类型数据可改变

a = (1,2,'1.1', [0,1,2,3])
a[3][0] = 100
print(a) # (1, 2, '1.1', [100, 1, 2, 3])

成员关系检测

使用innot in进行成员关系检测,判断成员是否在元组中

set1 = ('a','b','c')
if 'a' in set1:
    print('a in set1')
if 'd' not in set1:
    print('d not in set1')

元组循环

元组属于序列,可以使用for进行循环

a = (1,2,'1.1')
for val in a:
    print(val)

集合

集合的两种创建方式

  1. 字面量
a = {1,1,1,2,3}
  1. 使用set()函数
a = set({1,2,3,1,1})
print(a) # {1, 2, 3}

集合中的元素不可重复,因此可以进行去重

a = {1,1,1,2,3}
print(set(a)) # {1, 2, 3}

集合循环

集合属于序列,可以使用for进行循环

a = {1,2,3}

for val in a:
    print(val)

成员关系检测

使用innot in进行成员关系检测,判断成员是否在集合中

set1 = {'a','b','c'}
if 'a' in set1:
    print('a in set1')
if 'd' not in set1:
    print('d not in set1')

集合计算

a = {1,2,3}
b = {3,4,5}

print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a - b) # 差集 {1, 2}
print(b - a) # 差集 {4, 5}
print(a & b) # 交集 {3}
print(a ^ b) # 补集 {1, 2, 4, 5}

字典

定义字典

  1. 键(key)必须使用不可变类型
  2. 同一个字典中,键(key)必须唯一

字典循环

字典属于序列,可以使用for进行循环,但默认循环的是key

a = {'a':1,'b':2}

for key in a:
    print(key) # a b

将键值同时遍历出来:

a = {'a':1,'b':2}

for key in a.items():
    print(key)
'''
('a', 1)
('b', 2)
'''

遍历键:

a = {'a':1,'b':2}

for key in a.keys():
    print(key)
'''
a
b
'''

遍历值:

a = {'a':1,'b':2}

for key in a.values():
    print(key)
'''
1
2
'''

成员关系检测

使用innot in进行成员关系检测,判断成员是否在集合中

set1 = {'a':1,'b':2}
if 'a' in set1:
    print('a in set1')
if 'd' not in set1:
    print('d not in set1')

python实例

打印菱形

center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格

def diamond(n):
    for i in range(n):
        print((' * '*i).center(n*3))
    for i in range(n,0,-1):
        print((' * '*i).center(n*3))
diamond(7)

斐波那契数列

def fibonacci(n):
    dp = [1,1]
    for i in range(2,n):
        res = dp[i-2] + dp[i-1]
        dp.append(res)
    return dp[n-1]
print(fibonacci(7))