Python科学计算及应用课件:Python科学计算基础_第1页
Python科学计算及应用课件:Python科学计算基础_第2页
Python科学计算及应用课件:Python科学计算基础_第3页
Python科学计算及应用课件:Python科学计算基础_第4页
Python科学计算及应用课件:Python科学计算基础_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python科学计算及应用

Python科学计算基础Python数字类型2.2运算符2.3Python标识符与编码2.1常用标准库2.4

Python科学计算基础2.1.1标识符标识符由字母、下划线和数字组成,且不能以数字开头的符号串。2.1Python标识符与编码合法的标识符:UserID

name

mode12

user_age思考:下面哪些是标识符?为什么?fromNo12from#12my_Booleanmy-BooleanObj22ndObjmyIntMike2jackMy_tExt_testtest!32haha(da)ttintjack_rosejack&roseG.U.I2.1.2命名规范

见名知意表示名字就用标识符name,表示学生用标识符student等驼峰命名法小驼峰命名法:myName、aDog大驼峰命名法:FirstName、LastName下划线表示法

用下划线“_”分隔开,例如my_name,your_Family2.1Python标识符与编码2.1.3关键字通过命令keyword.kwlist查看当前系统中的关键字2.1Python标识符与编码2.1.4编码2.1Python标识符与编码ASCII编码

AmericanStandardCodeforInformationInterchange一个字节表示一个ASCII码,共有256种符号GB2312与GBK

GB2312-1980,收录6千多个汉字,使用非常普遍。GBK(K表示扩展),可表示2万多个汉字和图形符号。Unicode标准码

统一码(UniversalMultiple-OctetCodedCharacterSet)常用2字节表示1个字符(偏僻的字符,就需要4个字节))UTF-8编码

UTF(UnicodeTransformationFormat)

UTF-8编码是一种可“变长”的编码格式,即把英文变长为1个字节,而汉字用3个字节表示。a='中国'#a是unicode类型b=a.encode('utf-8')#b是utf-8类型c=a.encode('gbk')#c是gbk类型print(a,b,c)#中国b'\xe4\xb8\xad\xe5\x9b\xbd'b'\xd6\xd0\xb9\xfa'print(type(a),type(b),type(c))#<class'str'><class'bytes'><class'bytes'>d=b.decode('utf-8')e=c.decode('gbk')print(d,e)#中国

中国2.1Python标识符与编码2.2Python数字类型2.2.1数字变量

整型(int)二进制:以0b开头,如0b11011表示10进制的27。八进制:以0o开头,如0o33表示10进制的27。十进制:通常数学上的写法,如100,99等。十六进制:以0x开头,如:0x1b表示10进制的27。浮点型(float)浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(如2.7e2=2.7x102=270),又如:0.0、25.2、-2.9、-33.5e-10、12e+15等都是浮点型。2.2.1数字变量布尔型(bool)布尔型其值或为真True,或为假False。(注意True,False首字母大写),在Python3中,True用1表示,False用0表示,可以和数字型进行运算,如True+2值是3,False-2的值就是-2。字节型(bytes)bytes是Python3新增类型,以字节序列存储数据。bytes类型常用来存储图片、音频、视频等二进制格式的文件网络通信中也常用bytes类型数据。

表示字节类型对象,如b"HelloWorld",b'\xe6‘b"\x01\x02\x03"复数类型(complex)

用a+bj,或者complex(a,b)表示,如8+3.15j、4.23e-3+5jcomplex(3,4)表示复数2.2Python数字类型print(type(123))#结果为:<class'int'>print(type(1.12))#结果为:<class'float'>print(type(3j+1))#结果为:<class'complex'>print(type(b'123'))#结果为:<class'bytes'>print(type(True))#结果为:<class'bool'>数字变量如5,9,9.0,math.pi(圆周率),math.e(自然常数)注意:(1)2是整型对象,2.0是浮点型对象。(2)=称为赋值运算符,左边只能是变量,右边可以是常量,变量及其表达式等。2.2Python数字类型算术运算2.3运算符运算符描述示例(a=1,b=2)+相加运算a+b输出结果3-取负或相减运算a-b输出结果-1*相乘或重复运算a*b输出结果2/相除运算b/a输出结果2//整除运算9//2输出结果4,9.0//2.0输出结果4.0%取余运算b%a输出结果0**幂运算a**b为1的2次方,输出结果1赋值运算运算符描述示例=赋值num=1+2*3结果num的值为7+=加法赋值c+=a等效于c=c+a-=减法赋值c-=a等效于c=c-a*=乘法赋值c*=a等效于c=c*a/=除法赋值c/=a等效于c=c/a%=取模赋值c%=a等效于c=c%a**=幂赋值c**=a等效于c=c**a//=取整除赋值c//=a等效于c=c//a

2.3运算符关系运算运算符描述示例结果==检查两个操作数的值是否相等,如果是则条件变为真。如a=3,b=3则(a==b)True!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3则(a!=b)True>

检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3则(a>b)True<

检查左操作数的值是否小于右操作数的值,如果是,则条件成立。如a=7,b=3则(a<b)False>=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a>=b)True<=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a<=b)True2.3运算符逻辑运算运算符表达式求值特点andxandy如果x为False,xandy返回False,否则它返回y的计算值。orxory如果x是True,它返回True,否则它返回y的计算值。notnotx如果x为True,返回False。如果x为False,它返回True。print(3or2)#结果是3print(0or100)#结果是100print(1and2)#结果是2print(3and0)#结果是0print(0and2)#结果是0print(3and2)#结果是2print(1>2and3or4and3<2ornot4>5)#结果是True2.3运算符成员与身份运算运算符描述示例in如果在指定的序列中找到值返回True,否则返回False。xiny,x在y序列中,返回True。notin如果在指定的序列中没有找到值返回True,否则返回False。xnoty,x不在y序列中,返回True。运算符描述示例isis是判断两个标识符是不是引用同一个对象。xisy,如果id(x)等于id(y),返回True。isnotisnot是判断两个标识符是不是引用不同对象。xisnoty,如果id(x)不等于id(y),返回True。2.3运算符str1="Chinaisagreatcountry!"print("China"instr1)#Trueset1={'小米','华为','oppo','vivo'}print("apple"notinstr1)#Truelist1=['聂海胜','刘伯明','汤洪波']print('汤洪波'inlist1)#True

list2=[1,2,3]list3=[1,2,3]print("list1和list2是否同一个对象:",list2islist3)#Falseprint("list1和list2的值是否相等:",list2==list3)#True2.3运算符2.4.1math库2.4常用标准库

数学常数math.e#自然常数e

math.pi#圆周率pimath.inf#无穷大,负无穷大为-math.infmath.nan#非浮点数,nan(notanumber)

三角函数math.sin(x),math.cos(x),math.tan(x)math.asin(x),math.acos(x),math.atan(x)

角度和弧度互换math.degrees(x):将角度

x

从弧度转换为度数,math.radians(x):将角度

x

从度数转换为弧度。

双曲函数math.sinh(x),math.cosh(x),math.tanh(x)math.asinh(x),math.acosh(x),math.atanh(x)2.4.1math库2.4常用标准库其他常用函数函数作用示例fabs(a)取绝对值abs(-2.123)#2.123ceil(x)对x向上取整ceil(1.2)#2floor(x)对x向下取整floor(1.2)#1log(x[,base])对数,默认基底为e。可以修改baselog(100,10)#2sqrt(x)平方根sqrt(9)#3.0divmod(a,b)取商和余数divmod(5,2)#(2,1)pow(a,b)取乘方数pow(2,3)#8round(a,b)取指定位数的小数,a代表浮点数,b代表要保留的位数round(3.1415926,2)#3.142.4.1math库2.4常用标准库例2.4

编写程序,已知x=1.8,使用math库计算y=sinxcosx+4lnxfrommathimportsin,cos,logx=1.8y=sin(x)*cos(x)+4*log(x)#log是以e为底的对数print(y)例2.3根据圆的半径为3,根据面积公式计算面积importmathr=3S=math.pi*r*rprint(S)2.4.2random库2.4常用标准库

数学常数math.e#自然常数e

math.pi#圆周率pimath.inf#无穷大,负无穷大为-math.infmath.nan#非浮点数,nan(notanumber)

三角函数math.sin(x),math.cos(x),math.tan(x)math.asin(x),math.acos(x),math.atan(x)

角度和弧度互换math.degrees(x):将角度

x

从弧度转换为度数,math.radians(x):将角度

x

从度数转换为弧度。

双曲函数math.sinh(x),math.cosh(x),math.tanh(x)math.asinh(x),math.acosh(x),math.atanh(x)2.4常用标准库random.seed(a)

作用是设置初始化随机数种子,a是随机数种子,可以是整数或浮点数,random.random()

作用是生成一个[0.0,1.0)之间的随机小数。random.randint(a,b)

作用是生成一个[a,b]之间的随机整数,参数a表示随机区间的开始值,参数b表示随机区间的结束值,随机数包含结束值。random.randrange(start,stop[,step])

作用是生成一个[start,stop)之间以step为步长的随机整数。2.4.2random库2.4常用标准库random.choice(seq)

作用是从序列类型(例如列表)seq中随机返回一个元素,参数seq表示序列类型。random.shuffle(seq)

作用是从序列类型seq中元素随机排列,返回打乱后的序列,参数seq表示序列类型,调用该函数后,序列类型变量seq将被改变。

random.sample(seq,n)

作用是从序列seq中选择n个随机的元素2.4.2random库2.4常用标准库例2.6

利用random库常用随机函数生成一些随机数importrandomx=random.random()#random()随机生成一个[0,1)之间的随机数y=random.random()print(x,y*10)m=random.randint(0,10)#randint()随机生成一个[0:10]之间的整数print(m)print(random.randrange(100,120,2))#输出100~120间的偶数st1=random.choice([5,6,7,8,11,22,55])

st2=random.choice('adadfaifhasui')print(st1,st2)sli=random.sample([3,4,5,6,7,66,88],2)print(sli)#sample(a,b)随机获取a中指定b长度的片段lst=[1,2,4,5,6,9]random.shuffle(lst)print(lst)#shuffle()将一个列表内的元素顺序打乱

2.4.2random库2.4.3time库2.4常用标准库time()函数

用于返回当前时间的时间戳(从1970年1月1日00时00分00秒到现在的浮点秒数)。localtime([secs])

函数

作用是格式化时间戳为本地时间(struct_time类型)。如果secs参数未传入,就以当前时间为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论