分享 | 交流
让学习成为一种习惯

python基础操作

1.用户输入

name = input(“what is your name:”)

password = input(“your password is:”)

print(“hello”,name)

print(“hello” + name)  # +是拼接字符串

输入密码时,如果想要不可见,需要利用getpass 模块中的getpass 方法:

import getpass

password = getpass.getpass(“请输入密码:”)

 2.模块简介

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

print (sys.argv) #打印这个脚本的文件名

print(sys.path) #打印python环境变量列表

import os

os.system(“df -h”) #执行系统命令

3.字符串格式化输出

name = “bushaoxun”

print (“I am %s”  % name)

# 输出: I am bushaoxun

4.字符串详解

     1.字符串连接的三种方式

+  操作符连接,  join 方法, %是替换连接   推荐用第三种方法

      2. 字符串操作常用功能

          移除空白

print(“\n bushaoxun”.lstrip())  # 去除左边的空格和回车

print(“\n bushaoxun \n”.strip())  # 去除两边的空格和回车

          切片

print(“bushaoxun”.find(“sh”))  #  结果: 2  找出sh 在字符串中的位置

print(“bushaoxun”[2:5])   # 结果: sha   从第二位开始截取到第五位,第五位不截取,   此处也叫做切片

         分割

print(“bu shao xun”.split())  #结果: [‘bu’, ‘shao’, ‘xun’]   字符串按照空格分割成列表       此处叫做分割

print(“1+2\n3+4”.splitlines()) # 结果:[‘1+2’, ‘3+4’]   字符串按照换行符分割成列表

print(“bu shao xun”.split(“u”))  # 结果:[‘b’, ‘ shao x’, ‘n’]   字符串按照 “u” 分割成列表

字符串长度

print(len(“bushaoxun”))  # 结果为 9. 打印字符串长度

 索引

print(“bushaoxun”[0])  # 结果为 s  根据索引打印字符串

name.index(“u”)  # 返回u在字符串中位置,用下标表示

 其他常用

print(“123”.isalpha())  # 结果:False,  判断输入的时候是否为一个字符串

print(“ab123”.isalnum())  #结果:True, 判断输入的时候是否是字母或数字

print(“123.3”.isdigit())  #结果:False, 判断输入的是否是整数

print(“bushaoxun”.replace(“u”,”U”))  # 结果: bUshaoxUn,替换字符串

print(“shaoxun”.isidentifier())  # 结果:True ,如果输入的是函数或类,则返回False。 判断字符串是否是一个合法的标识符

print(“Ab”.islower()) # 结果:False,判断字符串是否为小写字母

print(“AB”.isupper()) # 结果:True, 判断字符串是否为大写字母

print(“AB”.lower()) # 结果: ab, 把大写字母转换为小些字母

print(“ab”.upper()) #结果:AB,把小些字母转换为大写字母

5.列表详解

   1.创建列表

family = [“bushaoxun”,”guolijuan”,”buruoxuan”]    或者  family = list([“bushaoxun”,”guolijuan”,”buruoxuan”])  # 创建一个名字为family的列表

print(family)   # 打印列表

    2. 列表的基本操作

       索引

print(family[0])  # 结果为:bushaoxun  根据下标取出列表的值 ,下标就是索引。

family.index(“xun”) # 定位元素在列表中的位置,返回值用下标表示

       切片

print(family[1]) # 结果为:guolijuan   根据下标取值,从后往前为 -1 -2

family[0:2] # 结果为:[‘bushaoxun’, ‘guolijuan’]

       追加

family.append(“buhuaiqing”)  #在列表最后追加一个元素,只能在最后追加

family.extend(“ss”)  #  在列表最后单个单个字符的追加

family.insert(1,”xun”)  # 在列表一号下标前添加元素

        删除

family.remove(“bushaoxun”) # 从列表中删除指定元素

family.pop(1)    # 删除指定索引的元素

del family[1]  #删除对应下标的元素

        长度

len(family)  # 显示列表的长度

        排序

family.sort()   # 排序列表

        统计

family.count(“xun”)  # 统计列表中指定元素的个数

       浅copy  与深 copy

family.copy()    # 只copy 第一层列表的数据,  如果下面仍旧有列表,第二层只是一个指针。

family.deepcopy() # 整个都copy,在内存中重新生成一份

       扩展

b = [1,2,3]

family.extend(b)  # 结果:[‘bushaoxun’, ‘guolijuan’, ‘buruoxuan’, 1, 2, 3]

 6. 元组详解

一旦被创建,便不能再修改,所以又叫只读列表

family = (“bushaoxun”,”guolijuan”,”buruoxuan”)

只有2个方法,一个是count,一个index

7. 字典详解

     字典一种key – value 的数据类型,语法格式如下:

family = { “name”:”bushaoxun”,”age”:32,”sex”:”boy”}  # 字典时无序的,key 必须是唯一的

     增加

family[“height”]=176  # 值为:{‘sex’: ‘boy’, ‘name’: ‘bushaoxun’, ‘age’: 32, ‘height’: 176}  注意显示顺序是无序的

     修改

family[“name”]=”zhanshi” #结果为:{‘sex’: ‘boy’, ‘name’: ‘zhanshi’, ‘age’: 32, ‘height’: 176}

      删除

family.pop(“name”)   #  标准删除,删除name

del family[“age”]   # 另一种删除方法

family.popitem()  # 随机删除

       查找

“name” in family   # 结果显示为 Ture, 标准用法

family.get(“name”) # 获取值

family[“name”] # 同上,但是如果只不存在,就会报错,上面的不会报错

       循环

for i in family:print(i,family[i]) # 正常的方法

for k, v in family.items():print(k,v) #  会先把字典转换成列表,数据大时不要用

       其他用法

family.values()# 显示字典所有的值

family.keys() # 显示字典所有的key

8.集合详解

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

      去重

num = set([1,3,5,7,9,9,5]) # 结果为:{1, 3, 5, 9, 7} ,创建一个数值集合,并且去重

name = set(“bushaoxun”) #结果为:{‘s’, ‘u’, ‘h’, ‘o’, ‘b’, ‘n’, ‘x’, ‘a’},创建单个字符串集合,并且去重

     关系测试

a = num | name  # 并集

b = num & name  #交集

c = num – name # 项目在num中,不在name 中。 差集

d = num ^ name # 对称差集,项目在num 和 name 中,但不会同时出现在两者中

     基本操作

name.add(“z”)   # 添加一项

name.update([“y”,”m”,”n”]) # 在 name 中添加多项

name.remove(“m”)  # 删除其中一项

len(name)   # 查看集合的长度

num.issubset(name)  # num  中的元素是否都在name中

num.issuperset(name)  # name 中的元素是否都在num中

num.union(name)  # 等同于 num | name,返回一个新的集合

num.intersection(name) # 等同于 num & name, 返回一个新的集合,取出 num 和 name 的公共元素

num.difference(name) # 等同于 num – name , 返回一个新的集合,包含 num 中有但是 name 中没有的元素

num.symmetric_difference(name)  # 等同于 s ^ t ,返回一个新的集合,包含 num 和 name 中不重复的元素

num.copy   # 集合的一个浅复制

未经允许不得转载:留时刻运维网 » python基础操作

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

留时刻 - Linux系统教程,运维经验分享

加入我们给我留言