基础杂识
# 单行注释
''' 多行注释'''
"""多行注释2"""
#print输出规则
print(value1,value2,...,sep=' ',end='\n')# sep为每个value之间的分割,默认为空格,end为最后输出的东西,默认为换行符
print("Name:%s\nAge:%d"%(Jun,18))
"""
输出结果:
Name:Jun
Age:18
"""
#访问字符串中的值
print(str[:])#所有
print(str[:n])#0到n
print(str[n:])#n到最后
print(str[n])#打印第n个
print(str[n:m])#n到m
print(str[::-1])#字符串反序输出如123456输出为654321
print(str[-n:])# 从倒数n到最后
print(str[:-n])#从0到倒数n
#time时间函数库常用函数
#time库
import time
#线程推迟时间
time.sleep(3)
#时间戳
print(time.time())
#返回日期、时间、星期
print(time.strftime('%Y/%m/%d %H:%M:%S %A'))
#返回时间信息元祖
print(time.localtime())
#输出指定格式的日期使用datetime模块
#循环结构
1.大致与C/C++相似
2.python中switch不支持多个条件判断
3.for循环
shuzus=[1,2,3,4,5,6]
zidians={1,2,3,4,5,6}
yuanzus=(4,8,5,9,9)
for s in "python":
print(s)
for shuzu in shuzus:
print(shuzu)
for zidian in zidians:
print(zidian)
for yuanzu in yuanzus:
print(yuanzu)
#输出结果
"""
p
y
t
h
o
n
1
2
3
4
5
6
1
2
3
4
5
6
4
8
5
9
9
"""
#range函数
'''
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
'''
#实例
'''
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
'''
#pass语句
等同于c/c++中的空语句不做任何事情,一般只用作占位语句
if true:
pass
else:
#....
列表,字典,元组
#列表[ ] list
#创建列表 list1=[1,2,3]
#使用range创建列表
numbers=list(range(0,10))
print(numbers)
#运行结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#访问
print(numbers[1])
#字符串也可以使用
print("dfsjkfhkasfs"[1])
#运行结果:f
#在列表中插入新元素
1.任意位置插入:list.insert(index,obj) //index是索引,object是插入的值
2.列表末尾插入:list.append(obj) //obj是插入的值
#在列表中删除元素
1.索引删除 del list1[0] //删除第一个元素
2.值删除 list1.pop(obj) //obj为删除的值
#列表排序
1.sort永久排序 list1.sort()
2.临时排序 print(sorted(list1))
3.倒序 list1.reverse()
#常用方法
1.获取长度 l len(list1)
2.获取最大值 max(list1)
3.获取最小值 min(list1)
4.追加其他列表的值 list1.extend(list2)
5.统计某元素出现次数 list1.count(obj)
6.清空列表元素 list1.clear()
7.复制列表中的元素 list2=list1.copy()
8.获取某个元素的索引值 list1.index(obj)
列表 | list1=[1,2,3] |
---|---|
列表 | list1=[1,2,3] |
元组 | tup1=(1,2,3) |
字典 | dict1={‘name’:Jun,‘age’:18} |
集合 | n1={1,2,3} |
缺字典元组集合的方法!!!
函数
1.定义 def 函数名(参数表)
2.关键字参数&&不需要指定函数参数的顺序
def 函数名(参数1,参数2)
...
...
函数名(参数2=x,参数1=y) //调用函数
3.默认参数
def 函数名(参数1=10,,参数2)
4.不定长参数(可变长参数)
def 函数名(参数1,*参数2) //参数2 为可变长参数
实例:
def printinfo(arg1,*num):
print("输出:")
print(arg1)
for n in num:
print(n)
return;
printinfo(10,20)
printinfo(10,20,30)
5.可选实参
def myfun(num1,num2,num3=''):
...
...
6.返回值可以返回字典
实例:
def person(fn,ln,age=''):
person={'_fn':fn,'_ln':ln}
if age:
person['age']=age
return person
print(person("Tom","mars",16))
运行结果:
{'_fn': 'Tom', '_ln': 'mars', 'age': 16}
7.匿名函数(关键字:lambda)
匿名函数名 = lambda 参数1,参数2:操作代码;
实例:
sum= lambda arg1,arg2:arg1+arg2;
print(sum(10,20))
运行结果:
30
8.导入模块
import 模块 //模块的扩展名为.py
from 模块 import 模块内的方法、函数 //只导入指定方法函数
from 模块 import 模块内的方法、函数 as 别名 //给函数起别名
import 模块 as 别名 //给模块起别名
from 模块 import * //导入外部文件内的所有函数
类
1.定义:
class Myclass: //类名开头必须!!大写!!!
...
2.实例:
myclass=Myclass()
3.类方法:
class Myclass:
def hello(self): #类方法的第一个参数必须是self
print("hello")
def sum(self,x,y):
return x+y
class1=Myclass()
class1.hello()
print(class1.sum(10,20))
运行结果:
hello
30
4.构造方法(类对象)
class Complex:
def __init__(self,xx,yy):
self.x=xx
self.y=yy
h=Complex(2,5)
print(h.x,h.y)
运行结果:
2 5
5.析构方法
def __init__(self):
...
...
6.私有方法
(1)_xxx "单下划线" 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,
需通过类提供的接口进行访问; 不能用'from module import *'导入
(2)__xxx 类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。),
"双下划线" 开始的是私有成员,意思是 只有类对象自己能访问,连子类对象也不能访问到这个数据。
(3)__xxx__ 系统定义名字, 前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
7.静态方法和类方法
https://www.cnblogs.com/wcwnina/p/8644892.html
8.类的专有方法
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__div__: 除运算
__mod__: 求余运算
__pow__: 乘方