Python详细学习笔记+总结 第一天

大小写敏感

输入输出

s = input()
print(s)



十六进制
0xff00

/ 除,返回浮点数
// 整数
% 取余

科学计数
1.23e3
1.2e-5

字符串
unicode编码
r"" 不进行转义

多行字符

'''
...
'''



ord() 字符转整数

c = ord('a')
97
c = ord('A')
65



chr() 整数转字符

a = chr(65)
A



encode() 转码,转为bytes

c = 'abc'.encode('ascii')
b'abc'



decode() 解码,转为str

c = b'abc'.decode()
abc



str格式化

'Hi, %s, you have $%d.' % ('Tom', 100)
Hi, Tom, you have $100.



布尔值

True、False
and、or、not
b = not 1 > 2
True



空值
None

变量
动态变量,赋值时决定类型
大小写英文、数字、_组合,不以数字开头,不能为关键字

没有常量,全部大写表示常量

列表list
索引超出范围 IndexError

classmates = [1, 2, 3]
len(classmates)
3
classmates[0]
1
classmates.append(4)
[1, 2, 3, 4]
classmates.insert(1, 5)
[1, 5, 2, 3]
classmates.pop()
3
[1, 2]



元组 tuple
初始化之后,不能修改

classmates = (1, 2, 3)



元素为list,可变

l = ['a', 'b']
t = (1, 2, l)
(1, 2, ['a', 'b'])
l.append('c')
(1, 2, ['a', 'b', 'c'])



字典 dict
Java中map

d = {'name':'Bom', 'age':22}
d['name']
Bom
d['job'] = 'Teacher'
k = 'mail' in d
False



d.get('sex')
不存在返回None
d.get('sex', -1)
不存在返回-1

d.pop('age')
删除key
22

set
无序、无重复元素

s = set([1, 2, 3])
{1, 2, 3}
s.add(4)
{1, 2, 3, 4}
s.remove(2)
{1, 3}



控制语句
条件判断

age = 13
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')
teenager



循环

for
classmates = [1, 2, 3]
for n in classmates:
    print(n)
1
2
3
while
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 1
print(sum)



break
跳出循环
continue
跳出本次循环,继续下一次

函数
help(abs)
查看用法

定义函数

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x



没有return语句,返回None

返回多个值,tuple

import math
def move(x, y, step, angle=0):
    nx = x + step*math.cos(angle)
    ny = y - step*math.sin(angle)
    return nx, ny
x, y = move(100, 100, 60, math.pi/6)



位置参数

def power(x):
    return x*x



默认参数

def power(x, n=2):
    return x + 2
x = power(1)
3



必选参数在前,默认参数在后
变化大的参数放前面,变化小的参数放后面(默认参数)

多个默认参数
按顺序,或者带参数名

默认参数指向不变对象

可变参数

list、tuple
def func(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n
    return sum
s = func(1, 2, 3)
6
s = func(*[1, 2, 3])
6



关键字参数

dict
def person(name, age, **kv):
    print('name:', name, 'age:', age, 'other:', kv)



值传递

d = {'job':'worker'}
person('Tom', 22, job=d['job'])
person('Tom', 22, **d)
name: Tom age: 22 other: {'job': 'worker'}



命名关键字参数
*后面为命名关键字参数

def person(name, age, *, city, job):
    print(name, age, city, job)
person('Jim', 22, city='Beijing', job='Engineer')
Jim 22 Beijing Engineer



可变参数+命名关键字参数

def person(name, age, *args, city, job):
    print(name, age, args, city, job)
person('Han', 22, {'from':'China'}, city='Shanghai', job='Boxer')
Han 22 ({'from':'China'},) Shanghai Boxer



参数组合
必选参数、默认参数、可变参数、命名关键字参数、关键字参数

上一篇:Spring MVC+Maven+MyiBatis项目目录结构分析

下一篇:Spring配置文件参考