❶ 在做測試自動化時,python數據類型轉換函數有幾種
在python中的數據類型轉換函數共有五類:
1.float(x) 將x轉換為一個浮點數,x如果是一個字元串, 必須是數字類型的字元串
2.int(x) 將x轉換為一個整數, x如果是一個字元串,必須是數字類型的字元串
3.str(x) 把x轉換為字元串類型, 任意數據類型都可以轉換為字元串
4.list(x) 把序列數據x轉為列表(注意:字典沒有順序,不是序列數據)
5.tuple(x) 把序列數據x轉為元組(字典沒有順序,不是序列數據)
你可以多去黑馬程序員視頻庫看看,裡面這樣的知識點特別多
❷ python如何將字元串類型轉換為整型
在python中,將字元串轉換為整型的兩種方法是:1、利用string庫中的atoi函數將字元串轉換成數字;2、直接使用int內置函數將字元串轉換成數字類型。
(1)import string
tt='555'
ts=string.atoi(tt)
ts即為tt轉換成的數字
轉換為浮點數 string.atof(tt)
(2)直接int
int(tt)即可。
推薦課程:Python入門與進階教學視頻(極客學院)
❸ Python對象中定義函數,如何將在窗口輸入字元串轉換為函數式
交互界面要先把函數敲進去,才能調用 >>> def myfun():... return 'Hello'...>>> myfun()'Hello'>>>
❹ Python怎麼把字元串轉
轉成數字直接用int(str)或者float(str)
字元串內建函數
1
capitalize()
將字元串的第一個字元轉換為大寫
2
center(width, fillchar)
返回一個指定的寬度 width 居中的字元串,fillchar 為填充的字元,默認為空格。
3
count(str, beg= 0,end=len(string))
返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定范圍內 str 出現的次數
4
bytes.decode(encoding="utf-8", errors="strict")
Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象可以由 str.encode() 來編碼返回。
5
encode(encoding='UTF-8',errors='strict')
以 encoding 指定的編碼格式編碼字元串,如果出錯默認報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
6
endswith(suffix, beg=0, end=len(string))
檢查字元串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的范圍內是否以 obj 結束,如果是,返回 True,否則返回 False.
7
expandtabs(tabsize=8)
把字元串 string 中的 tab 符號轉為空格,tab 符號默認的空格數是 8 。
8
find(str, beg=0 end=len(string))
檢測 str 是否包含在字元串中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內,如果包含返回開始的索引值,否則返回-1
9
index(str, beg=0, end=len(string))
跟find()方法一樣,只不過如果str不在字元串中會報一個異常.
10
isalnum()
如果字元串至少有一個字元並且所有字元都是字母或數字則返 回 True,否則返回 False
11
isalpha()
如果字元串至少有一個字元並且所有字元都是字母則返回 True, 否則返回 False
12
isdigit()
如果字元串只包含數字則返回 True 否則返回 False..
13
islower()
如果字元串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False
14
isnumeric()
如果字元串中只包含數字字元,則返回 True,否則返回 False
15
isspace()
如果字元串中只包含空白,則返回 True,否則返回 False.
16
istitle()
如果字元串是標題化的(見 title())則返回 True,否則返回 False
17
isupper()
如果字元串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是大寫,則返回 True,否則返回 False
18
join(seq)
以指定字元串作為分隔符,將 seq 中所有的元素(的字元串表示)合並為一個新的字元串
19
len(string)
返回字元串長度
20
ljust(width[, fillchar])
返回一個原字元串左對齊,並使用 fillchar 填充至長度 width 的新字元串,fillchar 默認為空格。
21
lower()
轉換字元串中所有大寫字元為小寫.
22
lstrip()
截掉字元串左邊的空格或指定字元。
23
maketrans()
創建字元映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字元串,表示需要轉換的字元,第二個參數也是字元串表示轉換的目標。
24
max(str)
返回字元串 str 中最大的字母。
25
min(str)
返回字元串 str 中最小的字母。
26
replace(old, new [, max])
把 將字元串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。
27
rfind(str, beg=0,end=len(string))
類似於 find()函數,不過是從右邊開始查找.
28
rindex( str, beg=0, end=len(string))
類似於 index(),不過是從右邊開始.
29
rjust(width,[, fillchar])
返回一個原字元串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字元串
30
rstrip()
刪除字元串字元串末尾的空格.
31
split(str="", num=string.count(str))
num=string.count(str)) 以 str 為分隔符截取字元串,如果 num 有指定值,則僅截取 num 個子字元串
32
splitlines([keepends])
按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
33
startswith(str, beg=0,end=len(string))
檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內檢查。
34
strip([chars])
在字元串上執行 lstrip()和 rstrip()
35
swapcase()
將字元串中大寫轉換為小寫,小寫轉換為大寫
36
title()
返回"標題化"的字元串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())
37
translate(table, deletechars="")
根據 str 給出的表(包含 256 個字元)轉換 string 的字元, 要過濾掉的字元放到 deletechars 參數中
38
upper()
轉換字元串中的小寫字母為大寫
39
zfill (width)
返回長度為 width 的字元串,原字元串右對齊,前面填充0
40
isdecimal()
檢查字元串是否只包含十進制字元,如果是返回 true,否則返回 false。
❺ python中的類型轉換都有什麼,用在什麼場景下
1.字元串(string)
示例: '余慶','yuqing','123','Hello!'
特點: 用引號括起來的文本。
轉換方式: 使用str()函數轉換,str()函數能將數據轉換成其字元串類型,不管這個數據是int類型還是float類型,只要放到括弧里。就能成為字元串類型。
2.整數(int)
示例:-1,0,1,2,123
特點:不帶小數點和引號的普通數字。
轉換方式:使用int()函數轉換, 只有符合整數規范的字元串類數據,才能被int()函數強制轉換。
(註:整數形式的字元串比如'6'和'1',可以被int()函數強制轉換。其次,文字形式,比如中文、火星文或者標點符號,不可以被int()函數強制轉換。
最後,小數形式的字元串,由於Python的語法規則,也不能使用int()函數強制轉換。)
(註:int()函數的本質是將數據轉換為整數。對於浮點數,int()函數會做取整處理。int()函數會直接抹零,直接輸出整數部分。)
3.浮點數(float)
示例:-0.33,3.1415926,1.0
特點:帶小數點的數字,運算結果會存在誤差。
轉換方式:使用float()函數轉換,float()函數也可以將整數和字元串轉換為浮點類型。但同時,如果括弧裡面的數據是字元串類型,那這個數據一定得是數字形式。
❻ python中怎樣將字元串轉化為函數
使用eval
❼ 如何用Python封裝C語言的字元串處理函數
在C語言中,字元串處理是每天都要面對的問題。我們都知道C語言中其實並沒有一種原生的字元串類型,『字元串』在C語言里只是一種特殊的以''結尾的字元數組。因此,如何將C語言與更高層次的Python語言在『字元串』處理這個問題上對接是一個有難度的問題。所幸有swig這種強大的工具。
如何封裝一個函數,它修改參數字元串的內容
假如有這樣一個C語言的函數,
<!-- lang: cpp -->
void FillZero(char* pc,size_t * piLen)
{
size_t i=0;
while(i++<*piLen/2 )
*pc++ = '0';
*pc = 0;
*piLen = i+1;
}
這個函數的功能是把字元串變成n個0。不過我們更關注函數的形式。這樣的函數,表面上看char* pc是函數的參數,可是實際上它才是函數的返回值和執行的結果。piLen這個參數既是pc的最大長度,也是新的字元串的長度。我們直接用python封裝,看看運行結果。
Type "help", "right", "credits" or "license" for more information.
>>> import cchar
>>> s='123456'
>>> cchar.FillZero(s,6)
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
TypeError: in method 'FillZero', argument 2 of type 'size_t *'
結果差強人意,不是我們想要得到的結果。函數的第二個參數為size_t* 我們很難用python來表示,而且python中也不存在既是輸入,也是輸出的參數。
swig有一個標准庫,其中有一個cstring.i文件就是用來解決C語言字元串類型的問題。
我們在.i文件中加入這樣幾行
<!-- lang: cpp -->
%include "cstring.i"
%cstring_output_withsize(char* pc,size_t* pi)
void FillZero(char* pc, size_t* pi);
然後運行看結果
Type "help", "right", "credits" or "license" for more information.
>>> import cchar
>>> cchar.FillZero(10)
'00000\x00'
>>> s=cchar.FillZero(10)
>>> print s
00000
我們看函數的變化。首先在python里, FillZero變成了只有一個參數的函數。然後函數的返回值變成了一個字元串。其實cstring_output_size其實是一個宏,通過這個宏的定義改變了函數的形式,直接在Python中得到我們想要的結果。
其實類似cstring_output_size的宏還有好幾個,我列舉一下:
cstring_output_allocate(char *s,free($1));
第一個參數是指向字元串地址的指針,第二個參數為釋放空間的方法。
大家考慮這一下這樣的函數:
void foo(char* & s)
{
s = (char*)malloc(10);
memcpy(s,"123456789",9);
}
s這個參數表面上看是輸入,實際上是函數真正的輸出。 函數中真正改變的東西是char&s指向的字元串的值。而且char&這個類型,
python或者其他腳本語言里應該都沒有對應的類型。那麼我們用cstring_output_allocate將這個函數轉換成另外一個形式的python或者其他腳本語言的函數。轉換後的函數其實是這樣的,以python為例str
foo()。
<!-- lang: cpp -->
%mole a
%include "cstring.i"
%{
void foo(char*& s);
%}
%cstring_output_allocate(char *&s, free(*$1));
void foo(char *&s);
在python中的調用:
<!-- lang: python -->
>>> import a
>>> a.foo()
'123456789'
>>>
cstring_output_maxsize(char *path, int maxpath);
第一個參數也是可以改變的字元串首地址,第二個參數為字元串的最大長度。在Python中調用的時候,只有maxpath這個參數,返回字元串。
cstring_output_allocate(char *s, free($1));
第一個參數為指向字元串首地址的指針,第二個參數為釋放指針的方法。這個宏主要是封裝一種直接在函數內部malloc空間的函數。在Python中調用時沒有參數,直接返回字元串。
cstring_output_allocate_size(char *s, int slen, free(*$1));
這個相當於前面兩個函數的組合。在函數內部malloc空間,然後將字元串長度通過slen返回。其實在調用的時候非常簡單,沒有參數,直接返回字元串。
如何處理c++的std::string
std::string是C++標准類庫STL中常見的類。在平時工作中大家肯定是沒少用。在python中如何封裝std::string? swig提供了標准庫
例如函數:
<!-- lang: cpp -->
string Repeat(const string& s)
{
return s+s;
}
只要在swig中加入這樣幾行:
<!-- lang: cpp -->
%include "std_string.i"
using namespace std;
string Repeat(const string& s);
運行結果:
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import cchar
>>> cchar.Repeat('123')
'123123'
使用起來很方便,但需要注意的是,假如函數的參數的內容是可以被修改,就不能用這種方式封裝。
例如:
<!-- lang: cpp -->
void repeat(string s)
{
s+=s;
}
這樣的函數直接使用 'std_string.i' 就是無效的。遇到這種函數,只能用C語言封裝成 void repeat(chars, int maxsize), 再用swig調用 'cstring_output_withsize' 這個宏再封裝一次了。
❽ python中eval的用法
python中eval函數用法如下:
1、計算字元串中有效的表達式,並返回結果。
2、將字元串轉成相應的對象(如list、tuple、dict和string之間的轉換)。
3、將利用反引號轉換的字元串再反轉回對象。
函數作用域:eval()函數並不會創建一個新的作用域,並且它的作用域就是它所在的作用域,有時候需要將eval()函數的作用域設置為全局,當然可以將eval()在全局作用域中使用,這個時候可以用window.eval()的方式實現。
參數情況:
(1)如果參數是一個表達式,eval() 函數將執行表達式。
(2)如果參數是Javascript語句,eval()將執行 Javascript 語句。
注意:如果執行結果是一個值就返回,不是就返回undefined,如果參數不是一個字元串,則直接返回該參數。
❾ 如何把python中一個字元串形式的表達式轉變成函數
string = "x*5+6*x*x"
x = 2
print eval(string)