首页 > 代码库 > Python初学基础
Python初学基础
ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>
while condition:
expressions
python中除了常规比较操作会返回True和False值,其他也会返回True和False
for item in sequence:
expressions
sequence为可迭代的对象,item为序列中的每个对象。
if condition:
expressions
注意python中赋值语句同matlab,使用==表示。
if condition:
true_expressions
else:
false_expressions
注意python中无类似condition ? value1 : value2 的三目操作符,但可以通过if-else来完成类似功能。var = var1 if condition else var2
if condition1:
true1_expressions
elif condition2:
true2_expressions
elif condtion3:
true3_expressions
elif ...
...
else:
else_expressions
定义功能
def function_name(parameters):
expressions
Python 使用 def 开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码,如果想要函数有返回值, 在 expressions 中的逻辑代码中用 return 返回。
def function_name(parameters):
expressions
注意:在调用函数时候,参数个数和位置一定要按照函数定义。如果我们忘记了函数的参数的位置,只知道各个参数的名字,可以在 函数调用的过程中给指明特定的参数 func(a=1, b=2), 这样的话,参数的位置将不受影响,所以 func(b=2,a=1)是同样的效果。
def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):
expressions
函数声明只需要在需要默认参数的地方用 = 号给定即可, 但是要注意所有的默认参数都不能出现在非默认参数的前面。
if __name__ == ‘__main__‘:
#code_here
如果执行该脚本的时候,该if判断语句将会是True,那么内部的代码将会执行。 如果外部调用该脚本,if判断语句则为False,内部代码将不会执行。
def report(name, *grades):
total_grade = 0
for grade in grades:
total_grade += grade
print(name, ‘total grade is ‘, total_grade)
定义了一个函数,传入一个参数为 name, 后面的参数 *grades 使用了 * 修饰,表明该参数是一个可变参数,这是一个可迭代的对象。该函数输入姓名和各科的成绩,输出姓名和总共成绩。所以可以这样调用函数 report(‘Mike‘, 8, 9),输出的结果为 Mike total grade is 17, 也可以这样调用 report(‘Mike‘, 8, 9, 10),输出的结果为 Mike total grade is 27
def portrait(name, **kw):
print(‘name is‘, name)
for k,v in kw.items():
print(k, v)
定义了一个函数,传入一个参数 name, 和关键字参数 kw,使用了 ** 修饰。表明该参数是关键字参数,通常来讲关键字参数是放在函数参数列表的最后。如果调用参数 portrait(‘Mike‘, age=24, country=‘China‘, education=‘bachelor‘) 输出:
name is Mike
age 24
country China
education bachelor
通过可变参数和关键字参数,任何函数都可以用 universal_func(*args, **kw) 表达。
text=‘This is my first test.\nThis is next line.\nThis is last line.‘
my_file=open(‘my file.txt‘,‘w‘)
my_file.write(text)
my_file.close()
append_text=‘\nThis is appended file.‘ # 为这行文字提前空行 "\n"
my_file=open(‘my file.txt‘,‘a‘) # ‘a‘=append 以增加内容的形式打开
my_file.write(append_text)
my_file.close()
class Calculator: #首字母要大写,冒号不能缺
name=‘Good Calculator‘ #该行为class的属性
price=18
def add(self,x,y):
print(self.name)
result = x + y
print(result)
def minus(self,x,y):
result=x-y
print(result)
def times(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
""""
>>> cal=Calculator() #注意这里运行class的时候要加"()",否则调用下面函数的时候会出现错误,导致无法调用.
>>> cal.name
‘Good Calculator‘
>>> cal.price
18
>>> cal.add(10,20)
Good Calculator
30
>>> cal.minus(10,20)
-10
>>> cal.times(10,20)
200
>>> cal.divide(10,20)
0.5
>>>
""""
class Calculator:
name=‘good calculator‘
price=18
def __init__(self,name,price,height,width,weight): # 注意,这里的下划线是双下划线
self.name=name
self.price=price
self.h=height
self.wi=width
self.we=weight
""""
>>> c=Calculator(‘bad calculator‘,18,17,16,15)
>>> c.name
‘bad calculator‘
>>> c.price
18
>>> c.h
17
>>> c.wi
16
>>> c.we
15
>>>
""""
a_tuple = (12, 3, 5, 15 , 6)
another_tuple = 12, 3, 5, 15 , 6
a_list = [12, 3, 67, 7, 82]
11.2 list 列表
a = [1,2,3,4,1,1,-1]
a.append(0) # 在a的最后面追加一个0
a.insert(1,0) # 在位置1处添加0
a.remove(2) # 删除列表中第一个出现的值为2的项
print(a[0]) # 显示列表a的第0位的值
print(a[-1]) # 显示列表a的最末位的值
print(a[-3:]) # 显示列表a的倒数第3位及以后的所有项的值
print(a[0:3]) # 显示列表a的从第0位 到 第2位(第3位之前) 的所有项的值
print(a.index(2)) # 显示列表a中第一次出现的值为2的项的索引
print(a.count(-1))# 统计列表中某值出现的次数
a.sort() # 默认从小到大排序
a.sort(reverse=True) # 从大到小排序
11.3 多维列表
a = [1,2,3,4,5] # 一行五列
multi_dim_a = [[1,2,3],
[2,3,4],
[3,4,5]] # 三行三列
在上面定义的List中进行搜索:
print(a[1])
# 2
print(multi_dim_a[0][1])
# 2
try:,except...as...:
try:
file=open(‘eeee.txt‘,‘r‘) #会报错的代码
except Exception as e: # 将报错存储在 e 中
print(e)
"""
[Errno 2] No such file or directory: ‘eeee.txt‘
"""
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
print(list(ab)) #需要加list来可视化这个功能
"""
[(1, 4), (2, 5), (3, 6)]
"""
lambda定义一个简单的函数,实现简化代码的功能
Python初学基础