成都网站建设设计

将想法与焦点和您一起共享

python函数传字符串,python 字符串常用函数

python 传字符串到c的 dll

用ctypes,

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了石台免费建站欢迎大家使用!

from ctypes import *

libc=cdll.msvcrt

libc.printf("hello %s\n","world")

hello world

12

p = create_string_buffer("Hello", 30)

n=libc.sprintf(p,"hello %s\n","world")

n

12

print p

ctypes.c_char_Array_30 object at 0x02247C10

dir(p)

['__class__', '__ctypes_from_outparam__', '__delattr__', '__delitem__', '__delsl

ice__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__',

'__getslice__', '__hash__', '__init__', '__len__', '__module__', '__new__', '__r

educe__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setslice

__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__',

'_b_base_', '_b_needsfree_', '_length_', '_objects', '_type_', 'raw', 'value']

p.value

'hello world\n'

Python3之字符串格式化format函数详解(上)

概述

在Python3中,字符串格式化操作通过format()方法或者f'string'实现。而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强。该函数将字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%。

位置设定

默认位置

不指定格式化位置,按照默认顺序格式化

示例结果:

设置位置

设置数字顺序指定格式化的位置

示例结果:

设置关键字

设置关键字指定格式化的内容

示例结果:

参数传递

我们可以传入各种类型参数格式化字符串,即不限于字符串变量或数字等。

元组传参

利用元组传参,传参形式 *tuple

示例结果:

字典传参

示例结果:

列表传参

示例结果:

python之字符串内置函数

1. 字符串字母处理

2. 字符串填充

str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)

返回一个指定的宽度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。

3,字符串计数

str.count(sub, start, end)

#统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

start, end遵循**“左闭右开”**原则。

4. 字符串位置

str.endswith(suffix, start, end)和str.startswith(substr, beg, end)

#判断字符串是否以指定后缀结尾/开头,如果以指定后缀「结尾」/「开头」返回 True,否则返回 False。

5. 字符串查找

6. 字符串判断

7. 字符串拼接

str.join() #将序列中的元素以指定的字符连接生成一个新的字符串。

s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b")

# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob

8. 统计字符串长度

str.len() #返回对象(字符、列表、元组等)长度或项目个数。

9. 去除字符两侧空格

str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左边」/「右边」/「左右」两侧的空格或指定字符。

str0 = ' Hello World!' str0.lstrip() 'Hello World!' str1 = 'aaaa Hello World!' str1.lstrip('a') ' Hello World!'

10. str.maketrans(intab, outtab)和str.translate(table)

str.maketrans()创建字符映射的转换表

str.maketrans()根据参数table给出的表转换字符串的字符。

str.maketrans()传入的也可以是字典

tab = {'e': '3', 'o': '4'} trantab = str.maketrans(tab) str0.translate(trantab) 'H3ll4 W4rld!'

11. 字符串替换

str.replace(old, new, max)

12. 字符分割

str.split(str, num)

13. 字符填充

str.zfill(width)

返回指定长度的字符串,原字符串右对齐,前面填充0。

在Python中使用字符串调用函数

已有字符串形式的函数名称,那么如何调用这个函数呢?

通过调用内置函数locals()和globals()返回的字典对象,就可以可以获得名称与对象的映射关系。其中,locals()仅在全局范围内调用时可以获得函数对象。 我们来看以下的例子。

需要注意的是,使用上述方法通过字符串调用函数时,为了系统的安全,防止执行任意函数,需要对函数名做一些处理,也就是使用统一的前缀为这些函数命名。例如在上述例子中,使用前缀cmd_+函数名的形式定义函数(cmd_help,cmd_sum)。

在传入函数名字符串时,只传入函数名的后半部分(如"help","sum"),由程序添加前缀后组成完整的函数名,再调用该函数。

对于类的成员函数,则可以使用getattr()获得类成员函数。

上述代码通过字符串调用了类成员函数,与前一段代码执行的结果相同。

此外,还可以使用字典将字符串与函数对应起来调用,缺点就是每增加一个函数需要相应在字典对象中添加相应的键值,增加代码维护工作量。

以上代码在Python 3.6以上运行通过。


当前题目:python函数传字符串,python 字符串常用函数
文章URL:http://chengdu.cdxwcx.cn/article/hodjpe.html