python

参考

数据类型

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

变量类型转换

在这里插入图片描述

Number

is

在这里插入图片描述

in

在这里插入图片描述

运算法优先级

在这里插入图片描述

字符串


a = '  abdccf  '

a.lstrip() 去除左边空格

a.rstrip() 去除右边空格

a.strip() 返回移除字符串头尾指定的字符后生成的新字符串。 默认空格

str(122) 转换类型为字符串

b = 'ben ju'

b.title() 首字母大写

b.lower()全部小写

b.upper() 全部大写


元组

t = (100, 200) # 不能修改

# func 1
tuple1 = (1, 2, 3)
num = 4
tuple2 = tuple1 + (num, )

# func2
tuple1 = (1, 2, 3)
num1 = 4
num2 = 5
tuple2 = tuple(list(tuple1 + [num1, num2]))

#func3
tuple1 = (1, 2, 3)
num1 = 4
num2 = 5
tuple2 = list(tuple1)
tuple2.append(num1)
tuple2.append(num2)
tuple2 = tuple(tuple2)

List

参考

# 复制
list1 = [1,2,3,4,5]
list2 = list1[:]  # list2和list1内容相同,但是存储地址不同

list3 = list1 # list3和list1内容相同,存储地址相同,如果修改list1内容,list3随着改变

在函数中,给实参赋值时,如果不想修改原list,可以用list[:]的形式
func(list1[:])

list_1 = []
# 在末尾添加
list_1.append(xxx) 
# 在指定位置添加
list_1.insert(0,add_xxx) 

# 删除list中指定位置
del list_1[0]
# 出栈并返回值
a = list_1.pop()
# 删除指定的值第一次出现
list_1.remove(xxx)

# 排序
list_1.sort()永久修改 reverse=True 反向排序
#临时排序
sorted(list_1)

# 反转列表
list_1.reverse()  永久

len(list_1)

list_2 = list(range(2,11,2))
# 求最小值
min(list_2) 
# 求最大值
max(list_2)
# 求和
sum(list_2) 

在这里插入图片描述


字典

# 初始化
dict1 = dict()

dict2 = {}

# 修改/添加
dict1[key] = value

#删除
del dict[key]

# 遍历
for key, value in dict1.item():
	print(key, value)

# 读取所有值并去除重复项
for v in set(dict1.values()):
	xxxx
	
# 读取所有键:
for k in dict1.keys():
	xxx	

在这里插入图片描述
在这里插入图片描述


set

参考
可以使用大括号 { } 或者 set() 函数创建集合,但是注意如果创建一个空集合必须用 set() 而不是 { },因为{}是用来表示空字典类型的

#1.用{}创建set集合
person ={"student","teacher","babe",123,321,123} #同样各种类型嵌套,可以赋值重复数据,但是存储会去重
print(len(person))  #存放了6个数据,长度显示是5,存储是自动去重.
print(person) #但是显示出来则是去重的
'''
5
{321, 'teacher', 'student', 'babe', 123}
'''
#空set集合用set()函数表示
person1 = set() #表示空set,不能用person1={}
print(len(person1))
print(person1)
'''
0
set()
'''
#3.用set()函数创建set集合
person2 = set(("hello","jerry",133,11,133,"jerru")) #只能传入一个参数,可以是list,tuple等 类型
print(len(person2))
print(person2)
'''
5
{133, 'jerry', 11, 'jerru', 'hello'}
'''

#1.set对字符串也会去重,因为字符串属于序列。
str1 = set("abcdefgabcdefghi")
str2 = set("abcdefgabcdefgh")
print(str1,str2)
print(str1 - str2) #-号可以求差集
print(str2-str1)  #空值
#print(str1+str2)  #set里不能使用+号
#====================================================================
{'d', 'i', 'e', 'f', 'a', 'g', 'b', 'h', 'c'} {'d', 'e', 'f', 'a', 'g', 'b', 'h', 'c'}
{'i'}
set()

#1.给set集合增加数据
person ={"student","teacher","babe",123,321,123}
person.add("student") #如果元素已经存在,则不报错,也不会添加,不会将字符串拆分成多个元素,去别update
print(person)
person.add((1,23,"hello")) #可以添加元组,但不能是list
print(person)
'''
{321, 'babe', 'teacher', 'student', 123}
{(1, 23, 'hello'), 321, 'babe', 'teacher', 'student', 123}
'''
 
person.update((1,3)) #可以使用update添加一些元组列表,字典等。但不能是字符串,否则会拆分
print(person)
person.update("abc")
print(person)  #会将字符串拆分成a,b,c三个元素
'''
{321, 1, 3, 'teacher', (1, 23, 'hello'), 'babe', 'student', 123}
{321, 1, 3, 'b', 'c', 'teacher', (1, 23, 'hello'), 'a', 'babe', 'student', 123}
'''
 
#2.从set里删除数据
person.remove("student")#按元素去删除
print(person)
#print("student")如果不存在 ,会报错。
'''
{321, 1, 3, 'c', 'b', (1, 23, 'hello'), 'teacher', 'babe', 'a', 123}
'''
person.discard("student")#功能和remove一样,好处是没有的话,不会报错
person.pop() #在list里默认删除最后一个,在set里随机删除一个。
print(person)
'''
{1, 3, (1, 23, 'hello'), 'teacher', 'b', 'a', 'babe', 123, 'c'}
'''
#3.更新set中某个元素,因为是无序的,所以不能用角标
#所以一般更新都是使用remove,然后在add
 
#4.查询是否存在,无法返回索引,使用in判断
if "teacher" in person:
    print("true")
else:
    print("不存在")
'''
true
'''
#5.终极大招:直接清空set
print(person)
person.clear()
print(person)
'''
set()
'''

输入

mess = raw_input('input,please') # 输入

mess = input('input,please') # 输入,并且可以输入一个python函数,并且计算

# str->int
number = input('input a number')
num = int(number)

判断

a = ''
if a:
	print('str is none')
# str is none

list1 = []
if list1:
	print('list is none')
# list is none	

函数

# 当不确定输入参数的个数时,可以存在list当中
def func1(f1,*f2):
	for f in f2:
		pass
	pass

func1(a,b,c,d)
# 当类型不同时,可以存在dict中
def func2(f1, **f2):
	for k, v in f2.items():
		pass
	
	pass

将函数存在模块当中

在 func.py 中写了func1 函数

# 导入模块
import func
func.func1()

# 导入模块的指定函数
from func import func1
func1()

# 导入模块的指定函数 并重新命名
from func import func1 as f
f()

# 导入模块中的所有
from import *


class

定义一个类

class Cat():
	
	def __init__(self, name, age):
		self.name = name
		self.age = age

	def func1(self, att1):
		pass
	
cat = Cat('kitty', 2)
cat.func1(a)

继承一个类

class smallCat(Cat):
	def __init__(self, name, age):
		super().__init__(name, age)
		

如果cat.py 里有Cat和smallCat 两个类,导入:

from cat import Cat, smallCat
cat1 = Cat(xxx,xxx)
small = smallCat(xxx,xxx)

import cat
cat2 = cat.Cat(xxx,xxx)
small2 = cat.samllCat(xxx,xxx)


from cat import *
cat3 = cat.Cat(xxx,xxx)
small3 = cat.samllCat(xxx,xxx)

其他类

from collections import OrderedDict
dict1 = OrderedDict()
dict1[key] = value
from random import randint
x = randint(0,10)

读取文件

读文件

with open(path) as f:
	s = f.read()
	print(s)
	
	# 按行读取
	lines = f.readlines()
	for line in lines():
		print(line)
	
	for line in f:
		print(line.rstrip())

打开文件

f = open(path,'r')

阅读

s = f.read()

s = f.readlines()

s = f.readline() 每次只读取1行内容

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print "读取的字符串是 : ", str
 
# 查找当前位置
position = fo.tell()
print "当前文件位置 : ", position
 
# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
print "重新读取字符串 : ", str
# 关闭打开的文件
fo.close()

f.write(s)

os

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
 
# 重命名文件test1.txt到test2.txt。
os.rename( "test1.txt", "test2.txt" )

# 创建目录test
os.mkdir("test")

# 将当前目录改为"/home/newdir"
os.chdir("/home/newdir")

# 给出当前的目录
print os.getcwd()

# 删除”/tmp/test”目录
os.rmdir( "/tmp/test"  )

deque

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值