#import 模块# import 导入单个模块#import 模块名1[as 别名1],模块名2[as 别名2]#import sys# 模块名,成员#print('程序存储位置:'+sys.argv[0]): 程序存储的位置# import sys as s# print('别名调用:'+s.argv[0])#import导入多个模块# import sys,os# print('存储位置:'+sys.argv[0])# print('平台上路径分隔符'+os.sep) #sep: 平台上路径分隔符 /# import sys as s,os as o #起别名 ,用别名调用# print(s.argv[0])# print(o.sep)#不推荐使用#from 模块名 import 成员名1[as 别名1],成员名2[as 别名2] # from sys import argv as v# print('直接调用成员,不加模块前缀'+argv)# print('直接调用成员,不加模块前缀:'+v[0])# from sys import argv as v,winver as wv# print('存储地址:'+v[0])# print('使用的python版本号:'+wv)'''
###导入sys模块中所有成员(不建议)不同模块的相同成员名调用的时候,无法清楚的区分相同成员名的成员来自哪个模块
from sys import *
from m1 import * 成员
from m2 import * foo成员
foo() #python不知道要调用哪里面的foo成员
from m1
from m2 ### 调用成员必须加前缀,这样就更好区分哪个成员是哪个模块里的
m1.foo()
m2.foo()
from m1 import foo as foo1 ###调用这个成员的时候,给他们起一个个性的别名
from m2 import foo as foo2
foo1()
foo2()
''''''
自定义说明文档要在模块的开头定义
demo 模块中包含以下内容:
name 字符串变量:初始值为'汉服'
cradle 字符串变量:初始值为'中国'
say() 函数
'''
name ='汉服'
cradle ='中国'print(name,cradle)defsay():print('人生苦短,我用python')if __name__ =='__main__':
say()
function函数
#数字相关的内置函数#1.绝对值的计算:absprint(abs(-7))print(abs(7))#2.进制的转换: bin() , oct() ,hex()print(bin(100))print(oct(100))print(hex(100))#3.Ascll码表与字符的转换 chr ,ordprint(chr(37))print(ord('@'))#4.商和余数的计算:divmod()print(divmod(10,3))#10//3 10%3#5.幂的计算 :powprint(pow(2,5))#2**5print(pow(10,10,2))#10**10 % 2#6.近似值的计算 : round() :规定,将数字近似到离0更远的一边,距离一样远的话,就保留到偶数的一边print(round(2.5678))#一个参数,保留整数部分print(round(4.678,2))#两个参数,第二个参数是保留多少位print(round(0.5))#print(round(-0.5))#序列相关的内置函数#1.序列真假的判断:all() ,any()#元素除了0,空,none,false外 都返回true#all:所有元素为真,就返回trueprint(all(['12','小明',1.22,[7,8,9,]]))#any:序列里有任意元素为真,就返回trueprint(any(['','小明',1.22,[7,8,9,]]))#2.迭代对象的生成 range()print(range(10))#一个参数,默认从0开始print(list(range(5,9)))#两个参数,从指定的参数开始print(list(range(10)))#两个参数,从指定的参数开始#3.序列的迭代 enumerate() , zip()#enumerate():在迭代序列时输出序号和值for i,c inenumerate('abc'):print(i,c)print('*********')#zip() : 将多个序列放在一起迭代for i , c inzip('123','abc'):print(i,c)#序列的最值,max() , min() print(max(1,333,44,100))print(min(1,333,44,100))print('-------------------------------------------')#序列的切片:slice() 三个参数,开始,结束,间距# s1 =list(range(20)) for i inrange(20)[slice(3,15,2)]:print(i)#6.序列排序和逆序
w1 =[4,66,22,99,10,1]reversed(w1)sorted(w1)print(sorted(w1))print(reversed(w1))#类型相关的内置函数
a =[1,2,3]print(isinstance(a,list))#判断某个对象 是不是某种类型print(type(a))# 返回这个对象是什么类型#类型之间的转换print(int('123'))print(str(123))print(float(1))print(str(1.2+3.4))#适合人阅读print(repr(1.2+3.4))#适合机器阅读# t = (1,2,3)# t1 = [1,2,3]# #list# list(t)# set(t)# dict(t)# tuple(t1)
def
#自定义函数#def 引导,参数可以为空,但是括号不能省略 代码的缩进#带参数defadd(x,y):
a = x + y
return a
defadd1(x,y):
a = x + y
b = x ** y
c = x - y
return a,b,c
#print(add(8,2))#带默认参数defadd2(x,a=3,b=2,c=8):return a*x**2+b*x+c
#不定长参数defadd3(x,*ys):#*ys:可变数目的参数
total = x
for i in ys:
total+=i
return total
defadd4(x,**ys):#**ys本质上是字典print(x)print(ys)defadd5(*x,**y):print(x,y)#不带参数defadd6():print("你好")print("今天星期一")#别的文件导包,不会执行这里面的内容,只会在本文件中执行if __name__ =="__main__":#__main__是两个下划线#Pyhton 提供了两种传参方式:顺序传入,键值对传参print(add(3,5))#顺序传入print(add(x=6,y=8))#键值对传参print(add('pyt','hon'))#print(add('python',123))#报错,传入的参数不支持某种操作,比如字符串和整形 #print(add(12,3,4)) #传入的参数数目和实际规定不符#print(add(4,x=5))#不能给同一个值赋值多次 以上三种情况会抛出异常#带默认参数的函数的调用print(add2(14))#传入x , 其他的使用默认值print(add2(15,3,5,2))#顺序传参print(add2(3,b=5))#传入 x,b 其他的使用默认值#不定长参数调用print(add3(1,3,4,6,7,8,11))
add4(3,a=10,b=12,c=33)
add5(1,2,3,4,5,a=45,b=222,c=222)
add6()