设为首页 收藏本站
查看: 917|回复: 0

[经验分享] python初学day01

[复制链接]

尚未签到

发表于 2017-7-8 19:53:15 | 显示全部楼层 |阅读模式
  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[1]
'tang'
【取88数字:】
>>> name[-1]
'88'
【顾首不顾尾:】
>>> name=["lance",'tang','21','88']
>>> name[0:2]
['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:][2:4]
[234, 324]
>>> name[-6:][2:4][0]
234
【给列表中234,改成lancelot:】
>>> name=["lance",'tang','21','88',234,234,324,32,4]
>>> name[4]='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[5:9]
>>> 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[list_index]=9999999999
print(name)
【extend,扩展列表:】
name=['cisco', 'xia', 'lancelot', 'feng', 23, 523,23,43,23,435]
name2=[1,2,3,4,5]
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[0]='TANG'
print(name)
print(name1)
【浅copy,二级列表的内容不会被重新copy:】
name=['tang', 'xia', 'lancelot', 'feng',[23, 523,23],43,23,435]
name1=name.copy()
name[0]='TANG'
name[4][1]=11111111
name1[4][2]=22222222
print(name)
print(name1)
【deepcopy,深浅copy】
import copy
name=['tang', 'xia', 'lancelot', 'feng',[23, 523,23],43,23,435]
#浅copy,不会copy二级列表里面的元素;
name1=name.copy()
# name1=copy.copy(name)
#深copy,不管有几级,都会copy过去;
name2=copy.deepcopy(name)
#和原文件不一样;
name[0]='TANG'
name[4][1]=11111111
name1[4][2]=22222222
name2[4][0]=33333333
print(name)
print(name1)
print(name2)
结果:
['TANG', 'xia', 'lancelot', 'feng', [23, 11111111, 22222222], 43, 23, 435]
['tang', 'xia', 'lancelot', 'feng', [23, 11111111, 22222222], 43, 23, 435]
['tang', 'xia', 'lancelot', 'feng', [33333333, 523, 23], 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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-391751-1-1.html 上篇帖子: Linux实现https方式访问站点 下篇帖子: 初识类(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表