Python学习笔记
一、基础部分
(1)
- 使用print()和input
其中前俩行表示编码格式为utf8。
input()函数产生的是字符串类型,也就是说当输入生日(birth)数值时,不能当做int类型使用,使用int()函数将其转换为整型。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print(len('AVC'))
print(len('中午'))
s1=72
s2=85
r=(s2-s1)/s1*100
birth=input('birth:')
- 使用list
list即链表,其中元素由指针相互链接。查找其中元素方便,但占用内存较大。
classmates = ['Michael', 'Bob', 'Tracy']
print(len(classmates))
print(classmates[-1])
-
使用tuple
tuple即元组,其中元素不可变,这样使得程序更稳定和安全。 -
循环
#for in 循环
Sum = 0
for x in range(10):
Sum = Sum+x
print(Sum)
# while 循环
sum1 = 0
n = 99
while n > 0:
sum1 = sum1 + n
n = n - 2
print(sum1)
- 使用dict(map)和set
# 使用dict 字典
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])
# set 相当于集合 不能有重复对象
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1&s2)
- 调用函数
当函数有多个返回值时,实际上返回的是一个tuple,元组。
pass可以认为程序走到这里,但不执行任何情况。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#调用函数
def my_abs(x):
if x >= 0:
return x
else:
return -x
print(my_abs(-99))
# 可以用pass作为一个占位符
def move(x,y,step,angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx,ny
# 多个返回值时返回一个tuple
x, y = move(100, 100, 60, math.pi / 6)
print(x,y)
(2)函数参数
- 默认参数
设置默认参数时,有三点需要注意:
1°是必选参数在前,默认参数在后 ,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);
2°是如何设置默认参数。
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
3°定义默认参数要牢记一点:默认参数必须指向不变对象! - 可变参数
可变参数
一般函数定义为def fun (num)
在函数参数前加上*即可变为可变的参数,例如:
def fun(*num)
此时,num接收到的是tuple。
也可以将已有的型别当做可变参数传入函数,例如:
num = [1,2,3] fun(*num)
- 关键字参数
关键字参数会在函数内部自动组装为dict,例如定义一个函数:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
person('Adam', 45, gender='M', job='Engineer')
#输出如下
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
也可以定义一个dict,然后传入函数。
注意传入参数时参数名前加 “ ** ”
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)