Python为动态语言,定义变量时无需指定变量类型(与之对应的是静态语言)。
# 基础语法
str01 = "字符串01"
str02 = "字符串02"
num01 = 10
num02 = 20
print(str01+"_"+str02)
print(num01+num02)
print(type(str01)) # type()函数可以判断变量类型
print(type(num01))
print(isinstance(str01,str)) # isinstance()函数可以指定变量与变量类型,进行判断,是则返回True,否则返回False
print(isinstance(str01,int))
# 常量:Python没有常量的定义,只是习惯上将全部大写的变量名表示常量
PI = 3.14159265359
# if分支判断
study = int(input("请输入你的成绩:"))
if study >= 60 and study <90:
print("及格")
elif study >= 90:
print("优秀")
else:
print("不及格")
# for循环
for i in range(5):
print(i)
for i in range(1,10,2):
print(i)
# while循环
m = 100
sum = 0
n = 1
while n <= m:
sum += n
n += 1
print(sum)
# continue跳出循环
for i in range(1,10):
if i%2 == 0:
continue
else:
print(i)
# break终止循环
for i in range(1,10):
if i%2 == 0:
break
else:
print(i)
函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()等。也可以创建用户自定义函数。
函数定义的简单规则 :
def functionname( parameters ):
"函数_文档字符串"
pass #function_suite
return [expression]
注意点 :
全局与局部作用域
多返回值
必备参数
# 必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
def printme(a,b):
print(a,b)
# 调用,不写参数关键字的话,需要按定义的顺序传入参数
printme("str01","str02") # str01,str02
printme(b="str02",a="str01") # str01,str02 打印结果是一样的
缺省参数(默认参数)
def printinfo( name, age = 35 ):
print("Name: ", name);
print ("Age ", age);
return;
# 调用
printinfo( age=50, name="miki" ); # 标注了关键字就可以不用管顺序了
printinfo( name="miki" ); # age就是默认35
可变参数(不定词参数)
def sumall(count,*num):
print(count)
print(sum(num))
# 调用,可变参数可以传入任意个参数,包括0个参数
sumall(2,1,2,3) # 其实就是把后面三个参数:1,2,3打包成一个元组传入(1,2,3)
关键字参数
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple
而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
def person(name, age, **kw):
print(‘name:‘, name, ‘age:‘, age, ‘other:‘, kw)
person(‘a‘,12,sex=‘boy‘,tall=165) # name: a age: 12 other: {‘tall‘: 165, ‘sex‘: ‘boy‘}
def person(name, age, **kw):
if ‘city‘ in kw:
# 有city参数
pass
if ‘job‘ in kw:
# 有job参数
pass
print(‘name:‘, name, ‘age:‘, age, ‘other:‘, kw)
命名关键字参数
注意与必备参数和缺省参数的区别,虽然都有关键字,但调用时命名关键字参数必须写上参数名,以*号为间隔区分
# 命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数
# 命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错
def person(name, age, *, city, job):
print(name, age, city, job)
person(‘Jack‘, 24, city=‘Beijing‘, job=‘Engineer‘)
# 命名关键字参数可以有缺省值,从而简化调用
def person(name, age, *, city=‘Beijing‘, job):
print(name, age, city, job)
person(‘Jack‘, 24, job=‘Engineer‘)
# 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了
def person(name, age, *args, city, job): # city和job已经是命名关键字参数了,也是为了避免与前面的可变参数冲突
print(name, age, args, city, job)
person(‘Jack‘, 24, ‘boy‘, 165, city=‘Beijing‘, job=‘Engineer‘)
# 同理,有关键字参数,后面的参数也会变成命名关键字参数,避免冲突
def person(name, age, **kw, city, job): # city和job已经是命名关键字参数了,也是为了避免与前面的可变参数冲突
print(name, age, **kw, city, job)
person(‘Jack‘, 24, sex=‘boy‘, tall=165, city=‘Beijing‘, job=‘Engineer‘)
参数组合
以上5中参数形式可以相互组合,但存在一定限制,比如关键字参数必须在可变参数之后
原文:https://www.cnblogs.com/bighammerdata/p/11647272.html