FEniCS应用(2):Python基础语法(未完待续)

注:

  • 本学习笔记与中国大学MOOC平台《Python语言程序设计》(北京理工大学)相对应。
  • 本笔记跳过基础概念部分,着重于应用

一、对python的认知

  • python是大小写敏感的
  • python文件名不能以数字开头
  • #表示单行注释,'''三个单引号表示多行注释的开始和结束(其实是表示字符串,但是如果字符串没有赋值给变量,就当做注释)
  • python有强制可读性,缩进有实际的意义
  • 字符串的序号:首项从0开始,逐渐向右+1,正向递增序号;末项从-1开始,逐渐向左-1,反向递减序号
  • python保留字:注意True,False,None首字母大写

FEniCS应用(2):Python基础语法(未完待续)_第1张图片

二、python与matlab的异同

字符串的使用

  • 转义符
  • 索引:TempStr[-1]:字符串TempStr中的最后一个元素
  • 切片:TempStr[1:3]:取出字符串中从1开始,但不到3的字符。
    <字符串>[M:N] # M缺失表示至开头,N缺失表示至结尾
    <字符串>[M:N:K] # K为步长

    把字符串A逆序:A[::-1]

字符串操作符:

FEniCS应用(2):Python基础语法(未完待续)_第2张图片

字符串对象提供的基础方法:

FEniCS应用(2):Python基础语法(未完待续)_第3张图片FEniCS应用(2):Python基础语法(未完待续)_第4张图片FEniCS应用(2):Python基础语法(未完待续)_第5张图片

槽的使用(和matlab中fprintf里面%作用相同):

print("转换后的温度是{:.2f}C,{:.2f}F".format(C,F))

把format方法中的C和F按顺序放进{}中,并且遵循{}中规定的格式。

FEniCS应用(2):Python基础语法(未完待续)_第6张图片FEniCS应用(2):Python基础语法(未完待续)_第7张图片

不确定尾数

二进制表示小数,可以无限接近,但是不完全相同。

>>> 0.1+0.2
0.30000000000000004
>>> 0.1+0.2 == 0.3
False

比较浮点数一般需要用round函数进行四舍五入。

三、Python保留字的功能

  • in:判断一个元素是否在列表中(TempStr[-1] in ['C','c']:判断TempStr最后一个字符是不是C或c),返回逻辑值真假。
  • import:导入其他库
  • as:重命名

四、Python语法元素

复数类型:与数学中概念一致

复数表示:j

>>> z = 1+2j
>>> z.real
1.0
>>> z.imag
2.0

函数定义与调用

def wait():
    time.sleep(3.3) #让程序休眠3.3秒

>>>wait()
# 程序停止了3.3秒后退出

数学运算

FEniCS应用(2):Python基础语法(未完待续)_第8张图片FEniCS应用(2):Python基础语法(未完待续)_第9张图片FEniCS应用(2):Python基础语法(未完待续)_第10张图片FEniCS应用(2):Python基础语法(未完待续)_第11张图片FEniCS应用(2):Python基础语法(未完待续)_第12张图片FEniCS应用(2):Python基础语法(未完待续)_第13张图片

分支语句:由判断条件决定程序运行方向的语句

应用保留字if,elif,else:例如

if TempStr[-1] in ['C','c'] : 
    #执行语句
  • 如果if后条件为true,则执行冒号后的语句。
  • 注意每个保留字所在行最后存在一个冒号(:)是语法的一部分,不可省略。
  • 冒号及后续缩进用来表示后续语句与条件的所属关系。

循环语句:按照一定次数循环执行的语句

应用保留字for,in,while:例如

for  in range()
    # code to be looped

其中表示每次循环的计数,0 到 <次数>-1

for i in range(5)
    print("Hello:",i)
# 输出从Hello: 0到Hello: 4

for i in range(2,5)
    print(i)
# 输出 2 3 4

while循环

while  #当condition为True时进入循环,否则退出循环

Python函数举例

## 输入
a = input(<提示信息字符串>)
## 输出
print("转换后的温度是{:.2f}C".format(C)) #{}表示槽,用于填充format(C)中的C,:.2f表示保留2位小数
print("\r 转换后的温度是{:.2f}C".format(C),and="") #最后不换行,且光标退回行首,实现刷新效果
## 评估函数
eval("1") #去除参数外侧引号并执行余下语句的函数
## 四舍五入函数
round(x,d) #对x四舍五入,d是小数截取位数
## 字符串操作
len(x) #返回字符串x的长度
str(M) #将M转化为string类型

五、库的使用

import的使用

import turtle #引入turtle库

若采用上述引用方法,当需要调用turtle库中的函数时,需要采用<库名>.<函数名>的方式调用。例如:turtle.setup(width,height,startx,starty)

from turtle import* #引入turtle库中的函数

若采用from这种方式引入,后续调用turtle库中的函数时,可以直接使用函数名(但是可能会出现函数名冲突)

import turtle as t

在下面代码中,用t代替turtle作为库名。

turtle库的使用:海龟绘图体系

import turtle #引入函数库

turtle.setup(width,height,startx,starty) #设置画布,后两个参数可选,不必须
turtle.penup() #抬起画笔
turtle.fd(-250) #前进-250像素
turtle.pendown() #放下画笔
turtle.width(width) #设置画笔宽度
turtle.pencolor(color)#可使用字符串,RGB值
turtle.circle(40,80) #以40为半径,行进80度
turtle.left(135) #海龟向左转向135度
turtle.done() #程序不会自动退出,需要手动关闭

## 更多内容可以参考用户手册

time库的使用:程序计时

import time as t

t.time() #调用时间戳,是个很长的浮点数
t.gmtime() #程序可以处理的时间参数
t.strftime(tpl,ts) #tpl是格式化模板字符串,ts是计算机内部时间类型变量
t.strptime(str,tpl) #str是字符串形式的时间值,tpl是格式化模板字符串

>>> t = time.gmtime()
>>> time.strftime('%Y-%m-%d %H:%M:%S',t)
'2020-04-13 10:32:20'

>>> timeStr = "2018-01-26 12:55:20"
>>> time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=-1)

## 程序计时
t.perf_counter()    #返回一个CPU级别的精确时间计数值,单位为秒,精确度为纳秒
                    #由于计时起点不确定,连续调用差值才有意义

FEniCS应用(2):Python基础语法(未完待续)_第14张图片FEniCS应用(2):Python基础语法(未完待续)_第15张图片

To be continued.

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(FEniCS,Python,python)