python初学day01
1.执行Python脚本时打印的字符有颜色1. print"\033[32;1mhello\033[0m"#打印绿色
2. print"\033[31;1mhello\033[0m" #打印红色
2.字符串常用方法
【strip,脱掉空格】
username = input("user:")
if username.strip() == 'lance':
print("welcome.")
【split,字符串拼接】
name='xia yi feng'
name2=name.split(" ")
print(name2)
name='xia,yi,feng'
name2=name.split(",")
print("|".join(name2))
【判断是否有空格:】
name="Lance Tang"
print(' ' in name)
【format,格式化输出】
msg="hello:{name} the is age:{age}"
msg2=msg.format(name='lance',age=23)
print(msg2)
msg="hello:{0} the is age:{1}"
msg2=msg.format('lance',23)
print(msg2)
【center,给字符串居中增加指定字符:】
name='lance tang'
print(name.center(30,'-'))
【find,查找指定字符所在的下标位置,find找不到时返回“-1”;index找不到时会“报错”】
name='lance tang'
print(name.find('e'))
print(name.index('3'))
【isdigit (判断是否为数字):】
age=input("you num:")
if age.isdigit():
age = int(age)
print(age)
else:
print("Iivalid data type.")
【判读是否只是字母】
name = 'lance123'
result = name.isalpha()
print(result)
【 检测是否为空】
name = 'lance'
result = name.isspace()
print(result)
【sialnum (判断是否为数字或字母,或数字加字母的类型):】
name="123tang"
print(name.isalnum())
【endswith &&startswith (判断是否为1开始3结束)】
name="123"
print(name.endswith('3'))
print(name.startswith('1'))
【endswith ,在 0,4 这个范围内查找是不是以 y 结尾】
【查找范围规则:大于等于0 and 小于3】
name = 'lance'
result = name.endswith('y',0,4)
print(result)
【upper && lower (字符,大小写转换)】
name="tang123"
name2="lance"
print(name.upper())
print(name.lower())
【capitalize,把首字母转换成大写】
name = 'lance hahahahah'
result = name.capitalize()
print(result)
【casefold,把首字母的大写转换成小写】
name= 'lance'
result = name.casefold()
print(result)
【count,查找d出现的次数】
name = 'lance'
result = name.count('d')
print(result)
【count,在0~4范围内,查找d出现的次数】
name = 'lance'
result = name.count('d',0,4)
print(result)
【encode,把“妖风”转换成gbk编码】
name = '妖风'
result = name.encode('gbk')
print(result)
【partition,以“is”为标志位,把字符串分割】
name = 'lanceissb'
result = name.partition('is')
print(result)
【把s替换成8; "3":指定你想替换几个,并不是替换的范围】
name = 'lanceissb'
result = name.replace('s','8')
#result = name.replace('s','8',3)
print(result)
【去掉换行符,以列表形式打印出来】
name = '''
aa
bb
cc
'''
result = name.splitlines()
print(result)
【strip:指定去掉的字符,和splitlines功能相同;split:去掉分割符并进行拼接】
name = '''
aa
bb
cc
'''
result = name.split("\n")
print(result)
【删除列表最后一个值】
name = ['lance','tang',123]
print ("list is :",name.pop())
【删除列表制定值】
name = ['lance','tang',123,456]
name.remove(123)
print ("list :", name)
【左对齐并制定字符填充】
str = "what do you want?"
print(str.ljust(50,'*'))
name.strip()【去除两边的空格】
name.lstrip()【去除左边的空格】
name.rstrip()【去除右边的空格】
3.列表操作:
【列表赋值:】
>>> name=["Lance",'tang','21','88']
【取tang字符,取的是下标,下标从0开始:】
>>> name
'tang'
【取88数字:】
>>> name[-1]
'88'
【顾首不顾尾:】
>>> name=["lance",'tang','21','88']
>>> name
['lance', 'tang']
【取后三个值,取几个就输入 - 几:】
>>> name[-3:]
['tang', '21', '88']
【多次取列表里面的数据:】
>>> name=["lance",'tang','21','88',234,234,324,32,4]
>>> name[-6:]
['88', 234, 234, 324, 32, 4]
>>> name[-6:]
>>> name[-6:]
234
【给列表中234,改成lancelot:】
>>> name=["lance",'tang','21','88',234,234,324,32,4]
>>> name='lancelot'
结果:
>>> name
['lance', 'tang', '21', '88', 'lancelot', 234, 324, 32, 4]
【insert,给列表插入值[在”tang“后面插入"xia"]】
>>> name
['lance', 'tang', '21', '88', 'lancelot', 234, 324, 32, 4]
>>> name.insert(2,'xia')
>>> name
['lance', 'tang', 'xia', '21', '88', 'lancelot', 234, 324, 32, 4]
【append,在列表末尾追加一个值:】
['lance', 'tang', 'xia', '21', '88', 'lancelot', 234, 324, 32, 4]
>>> name.append('tail')
>>> name
['lance', 'tang', 'xia', '21', '88', 'lancelot', 234, 324, 32, 4, 'tail']
【remove,删除列表中指定的值:】
>>> name
['lance', 'tang', 'xia', '21', '88', 'lancelot', 234, 324, 32, 4, 'tail']
>>> name.remove("lance")
>>> name
['tang', 'xia', '21', '88', 'lancelot', 234, 324, 32, 4, 'tail']
【删除下标5~9,也是顾首不顾尾】
>>> name
['cisco', 'xia', 'lancelot', 'feng', '23', 234, 54, 234, 123, 523]
>>> del name
>>> name
['cisco', 'xia', 'lancelot', 'feng', '23', 523]
>>>
【pop,删除列表中的值,是根据下标来删除的:】
name=['cisco', 'xia', 'lancelot', 'feng',23, 523,23,43,23,435]
name.pop(0)
print(name)
【以布长为2,打印列表:】
>>> name
['cisco', 'xia', 'lancelot', 'feng', '23', 523]
>>> name[::2]
['cisco', 'lancelot', '23']
>>>
【count,统计列表中23元素的个数(注意:如果列表中,23被‘单引号’括起来,就不能被count所计算):】
name=['cisco', 'xia', 'lancelot', 'feng', 23, 523,23,43,23,435]
if 23 in name:
list_count=name.count(23)
print("---%s--- 23 is/are in name" %list_count)
【把name列表中的所有23元素,全部替换成99999999:】
name=['cisco', 'xia', 'lancelot', 'feng', 23, 523,23,43,23,435]
for i in range(name.count(23)):
list_index=name.index(23)
name=9999999999
print(name)
【extend,扩展列表:】
name=['cisco', 'xia', 'lancelot', 'feng', 23, 523,23,43,23,435]
name2=
name.extend(name2)
print(name)
【reverse,反转显示列表内容:】
name=['cisco', 'xia', 'lancelot', 'feng', 23, 523,23,43,23,435]
name.reverse()
print(name)
【sort,列表排序(注意:字符串和数字不能混排):】
name=['cisco', 'xia', 'lancelot', 'feng']
name.sort()
print(name)
name=[ 23, 523,23,43,23,435]
name.sort()
print(name)
【copy列表:】
name=['cisco', 'xia', 'lancelot', 'feng',23, 523,23,43,23,435]
name1=name.copy()
name='TANG'
print(name)
print(name1)
【浅copy,二级列表的内容不会被重新copy:】
name=['tang', 'xia', 'lancelot', 'feng',,43,23,435]
name1=name.copy()
name='TANG'
name=11111111
name1=22222222
print(name)
print(name1)
【deepcopy,深浅copy】
import copy
name=['tang', 'xia', 'lancelot', 'feng',,43,23,435]
#浅copy,不会copy二级列表里面的元素;
name1=name.copy()
# name1=copy.copy(name)
#深copy,不管有几级,都会copy过去;
name2=copy.deepcopy(name)
#和原文件不一样;
name='TANG'
name=11111111
name1=22222222
name2=33333333
print(name)
print(name1)
print(name2)
结果:
['TANG', 'xia', 'lancelot', 'feng', , 43, 23, 435]
['tang', 'xia', 'lancelot', 'feng', , 43, 23, 435]
['tang', 'xia', 'lancelot', 'feng', , 43, 23, 435]
【【删除一个列表中所有lance】】
>>> name = ['lance','aaa','ccc','lance','ddd']
>>> for i in range(name.count('lance')):
...print(name.remove('lance'))
...
None
None
>>> name
['aaa', 'ccc', 'ddd']
>>>
【列表中匹配值的方法】
>>> name
['1', '2', 'aa', 2, 8]
>>> "aa" in name
True
>>> 2 in name
True
>>> if "aa" in name:
...print("aaa")
...
aaa
>>>
【判读列表中有没有haha这个值】
name = ['lance','aaa','ccc','lance','ddd']
if 'haha' not in name:
print("name list not haha")
【判读“t”是不是一个列表】
>>> type(t) is list
True
4.隐式密码输入
在输入的密码是使用隐式输入,在pycharm中不好使:
【getpass.getpass,】
import getpass
username = input("username:")
password = getpass.getpass("password:")
print(username,password)
5.python格式化输出:
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
name = input("you input name:")
age = int(input("you input age:"))
job = input("you input job:")
msg = """
Infomation is %s
------------
name = %s
age = %d
job = %s
----END-----
""" %(name,name,age,job)
print(msg)
6.模块
【OS模块】
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
os.system("df -h") #调用系统命令
【sys模块】
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)
#输出
$ python test.py helo world
['test.py', 'helo', 'world']#把执行脚本时传递的参数获取到了
【time 模块的使用】
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
a = time.time()#打印当前时间的时间戳
print a
b = time.localtime() #打印元组形式的当前时间
print b
c = time.strftime("%Y-%m-%d %H:%M:%S",c) #把元组形式的时间转化为格式化的时间
print c
【Tab模块】for Linux(居家旅行,常备神奇!!!)
#!/usr/bin/env python
# python startup file
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter
页:
[1]