python0309

单词
digit 数字
string    字符串
float    浮点,小数

字符串详解
seq 字符串
seq[ind]
seq[ind1:ind2] 获得下标从ind1 - ind2 之间的元素
seq * expr 字符串*多少次
obj in seq 判断obj元素是否在seq中
obj not in seq 半段obj元素是否不在seq中

内建函数
序列对象操作

list将字符串转列表
list('ABC')
list(range(5))

tuple将字符串转元组
tuple('DSA')
tuple(range(5))

str将对象转为字符串
str(100)
str([1,2,3])

len():统计字符串长度

reversed()函数反转序列对象
例子:
num = [random.randint(1,100) for i in range(10)]
print(num)
[29, 100, 55, 78, 76, 40, 32, 49, 93, 2]
reversed(num)
for i in reversed(num):
    print(i)
也可以转换出来打印成列表
list(reversed(num))

sorted()排序,默认升序
sorted(变量,reverse=True)
>>> sorted(num)
[2, 29, 32, 40, 49, 55, 76, 78, 93, 100]
>>> sorted(num,reverse=True)
[100, 93, 78, 76, 55, 49, 40, 32, 29, 2]

enumerate() 函数可以同时得到下标和值
from random import randint
nums = [randint(1,100) for i in range(10)]
print(nums)

for data in enumerate(nums):
    print(data)

for ind,num in enumerate(nums):
   print(ind,num)

for i in range(len(nums)):
    print(i,nums[i])


字符串操作
比较操作符:
切片操作符:
成员关系操作符:

编码:ASCII
美国信息标准交换代码
欧洲常用编码:ISO-8859-1 LATIN-1
中国常用编码:GB2312/GBK/GB18030
iso 推出万国码 Unicode,其中最多utf-8
ord('')可以看到字符的编码值
字符串比较大小是比较编码值的大小
>>> ord('a')
97
比较有结果即停止
>>> 'a' > 'Ab'
True

字符串格式化操作符
%s    替换
>>> '%s is %s year old' % ('bob',20)
'bob is 20 year old'
%d    10进制整数
>>> '%s is %d year old' % ('bob',20)
'bob is 20 year old'
%f    浮点数,小数
>>> '5 / 3 = %f' % (5 / 3)
'5 / 3 = 1.666667'

>>> '5 / 3 = %5.2f' % (5 / 3) 共5列,小数点2位
'5 / 3 =  1.67'

>>> '%s%s' % ('bob',20)
'bob20'
>>> '%8s%5s' % ('bob','20') %8s 占8列右对齐
'     bob   20'
>>> '%-8s%-5s' % ('bob','20') -%8s 占8列左对齐 
'bob     20   '

不常用的
>>> '%#o' % 10  以8进制表示出结果
'0o12'
>>> '%#x' % 10    以16进制表示结果
'0xa'
>>> '%#e' % 10    科学计数法
'1.000000e+01'
>>> '%5d' % 10 占5列不足用空格补齐
'   10'
>>> '%05d' % 10 占5列不足用0补齐
'00010' 

format函数
与%s等格式化一样,实现字符串格式化
>>> '{} is {} years old'.format('bob',20)
'bob is 20 years old'
>>> '{1} is {0} years old'.format(20,'bob')
'bob is 20 years old'

原始字符串r''
>>> win_path = 'c:\tmp'
>>> print(win_path)
c:      mp
>>> win_path = r'c:\tmp'
>>> print(win_path)
c:\tmp
>>> win_path = 'c:\\tmp'
>>> print(win_path)
c:\tmp
>>> win_path
'c:\\tmp'

案例
'+************************************************+'
'                  hello world                   '
'                   great work                   '
'+************************************************+'
1.
>>> '+%s+' % ('*' * 48)
'+************************************************+'

2.
>>> 'hello world'.center(48)
'                  hello world                   '

3.判断是否全部是数字
>>> s1 = '1234'
>>> s2 = '123a4'
>>> def is_d(s):
...   for i in s:
...     if i not in '1234567890':
...       return False
...   reture True    #return 有多个也会执行一个,和break一样,

>>> is_d(s1)
True
>>> is_d(s2)
False

4.使用字符串方法,判断是否完全由数字构成
is.isdigit()
s1.isdigit()
s2.isdigit()

5.居中
center()
>>> s1.center(30)
'             1234             '
>>> s1.center(30,'*') 居中使用*补全
'*************1234*************'

6.左对齐ljust()
>>> s1.ljust(30)
'1234                          '
>>> s1.ljust(30,'*')
'1234**************************'
7.右对齐''
>>> s1.rjust(30,'@')
'@@@@@@@@@@@@@@@@@@@@@@@@@@1234'

8.移除空白字符 包括空格,回车,tab
>>> '   \thello world.\n'.strip()
'hello world.'
>>> '   \thello world.\n'.lstrip() 左端
'hello world.\n'
>>> '   \thello world.\n'.rstrip() 右端
'   \thello world.'

9.大小写转换
upper()
lower()
>>> 'adas'.upper()
'ADAS'
>>> 'SDADSAD'.lower()
'sdadsad'

10.判断有字母并且小写为真 islower() 有字母并且小写
>>> 'asda123'.islower()
True
>>> 'asAa123'.islower()
False
>>> 'ASDAD123'.islower()
False
判断有字母并且大写为真 isupper() 有字母并且大写
>>> 'SADSAD123'.isupper()
True
>>> 'SAad123'.isupper()
False
>>> 'SAad123'.isupper()
False
判断全部为数字为真isdigit() 全数字
>>> '12324'.isdigit()
True
>>> '12324aa'.isdigit()
False
>>> '12324aAA'.isdigit()
False
判断字符全为字母为真isalpha() 全字母
>>> 'ADS'.isalpha()
True
>>> 'asd'.isalpha()
True
>>> 'asd123'.isalpha()
False

判断字符全部是字母或数字 isalnum()
>>> 'dasd123'.isalnum()
True
>>> 'dasd_123'.isalnum()
False

判断以xx开头,以xx结尾
startswitch();endswith()
>>> 'HAO123'.startswith('HAO')
True
>>> 'HAO123'.endswith('HAO')
False
>>> 'HAO123'.endswith('123')
True

切分字符串split()
>>> 'hao 123 asd'.split()
['hao', '123', 'asd']
切分字符串以'分割'
>>> 'hao-213-dsad'.split('-')
['hao', '213', 'dsad']


替换replac()
>>> 'dsdas'.replace('s','1')
'd1da1'

案例创建用户并且随机密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值