Python之eval和exec
eval可以執行字符串形式的表達式
In [1]: eval("1 + 2 + 3") Out[1]: 6 In [2]: eval("a + 1", {"a": 99}) Out[2]: 100
exec執行字符串形式的代碼
In [3]: exec("print(‘hello world‘)") hello world In [4]: exec("print(“hello world“)") File "<string>", line 1 print(“hello world“) ^ SyntaxError: invalid characterin identifier
內外層雙引號不能相同,否則會報錯
Python之eval和exec
相關推薦
Python之eval和exec
不能 error: ror character file clas col 相同 rac eval可以執行字符串形式的表達式 In [1]: eval("1 + 2 + 3") Out[1]: 6 In [2]: eval("a + 1", {"a": 99}) Out
java利用反射動態呼叫方法,類似python的eval和exec函式
場景: 類C中存有方法A()和B(),String str存有方法的名字可能是A,也可能是B,要求能通過str的不同,呼叫相應名字的函式。 實現: 主要用到java反射機制,動態呼叫的方法:
python 之列表和元組
ott ase dig pdb awb data whl w3g htc list Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。 比如,列出班裏所有同學的名字,就可以用一個list表示: >>
python之讀取和寫入csv文件
pri style faq port bsp lee src jpg int 寫入csv文件源碼: 1 #輸出數據寫入CSV文件 2 import csv 3 data = [ 4 ("Mike", "male", 24), 5 ("Lee",
python之time和datetime的常用方法
展現 時間戳 delta tuple sta 8.0 hour min alt 一、time的常用方法: import time,datetime# 時間有三種展現方式:時間戳,時間元組,格式化的時間print(time.time())#當前時間戳print(int(tim
Python之*args和**kwargs使用方法
*args **kwargs Python *args使用方法:#!/usr/bin/env python #-*- coding=utf-8 -*- def args(args,*kwargs): print (args) for arg in kwargs: pr
python之判斷和循環
表達 排列 tuple sum 包括 每一個 如果 就會 spa 計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。比如,輸入用戶年齡,根據年齡打印不同的內容,在Python程序中,可以用if語句實現: age = 20 if age >= 18:
Python之列表和元組
出現 函數 lse abc remove 不可 unicode end 分片 Python 6種內建序列類型:列表、元組、字符串、Unicode字符串、buffer對象、xrange對象。 1、列表與元組的區別,列表可以修改,元組則不能。 2、通用序列操作:a、索引(從0
OpenCV-Python之ROI和泛洪填充
1.ROI感興趣區域的操作 尋找感興趣的區域主要就是利用矩陣的切片功能來提取. 如face = image[100:200, 300:400] import cv2 as cv image = cv.imread('./data/lena.jpg', 1) cv.imshow('
python3的eval和exec的區別與聯絡
eval: 可以把字串裡的字元轉換為可執行程式碼,但只支援一行字元。可以返回執行後得到的值。如下: f = "3+6+9+8" s = eval(f) print(s) 輸出: "C:\Program Files\python3\python3.exe" D:/co
python之email和smtplib模組收發郵件及flask用flask_mail外掛發郵件
①flask用其中的外掛flask_mail傳送郵件先在setting中相應的配置環境中設定伺服器密碼郵箱: class DevelopConfig(Config): DEBUG = True MAIL_SERVER = “smtp.qq.com” #郵箱伺服器 MAIL_USERNAME
Python之 string 和 random方法
1、 import string import string print(string.ascii_lowercase) #輸出全部小寫字母a-z print(string.ascii_letters) #輸出全部字母,包含小寫a-z和大寫A-Z print(string.ascii_upper
python之bytes和string
1、bytes主要是給在計算機看的,string主要是給人看的 2、中間有個橋樑就是編碼規則,現在大趨勢是utf8 3、bytes物件是二進位制,很容易轉換成16進位制,例如\x64 4、string就是我們看到的內容,例如'abc' 5、string經過編碼encode,轉化成二進
python之MRO和垃圾回收機制
一、MOR 1、C3演算法簡介 為了解決原來基於深度優先搜尋演算法不滿足本地優先順序,和單調性的問題。 python2.3版本之後不管是新式類還是經典類,查詢繼承順序都採用C3演算法 2、演算法原理 C3演算法的本質就是Merge, 不斷地把mro()函式返回的佇列進
python之生成器和列表推導式
一、生成器函式1、生成器:就是自己用python程式碼寫的迭代器,生成器的本質就是迭代器(所以自帶了__iter__方法和__next__方法,不需要我們去實現)。2、用以下兩種方式構建一個生成器:1,生成器函式:跟常規函式定義類似,但是,使用yield語句而不是return語句返回結果。yield語句
Python之變數和簡單資料型別
目錄 一、變數 二、字串 三、數字 一、變數 1.1、變數的命名 變數名只能包含字母、數字和下劃線。變數名可以字母或下劃線打頭,但不能以數字打頭。 變數名不能包含空格,但可使用下劃線來分隔其中的單詞 不要將Python關鍵字
python之Dict和set型別
Dict就是一種key:value的表格: >>> d = { 'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':75 } >>> print (d) {'Paul':
python 之 strip() 和 rstrip() 和 os.path.splitext()
1、strip() 用法:str.strip([chars]),引數chars可選 返回:移除字串頭尾指定的字元(預設為空格或換行符)或字元序列。只能刪除開頭或結尾的字元,不能刪除中間部分的字元。 path = '\\F:/my_data/brats18_training/HGG \Br
python之isinstance和issubclass,反射,內建方法
isinstance和issubclass isinstance(obj,cls)檢查是否obj是否是類 cls 的物件。物件與類之間的關係 class B:pass class A(B):pass a = A() print(isinstance(a, A))
python之eval簡述
eval()函式在Python中出鏡率較高,TF中也頻頻出現。初學時候經常看的一頭霧水。根據自己自學經驗的查詢的資料總結一下: 先說Python中它能幹啥,怎麼用。 函式原型: eval(expression, globals=None, locals=None) 引數:globals和lo