头像

Cyan

四川成都

深度强化学习炼丹师

Python基础

Python基础

2020-08-19 · 323次阅读 · 原创 · 后端开发

与类C语言的区别

注释

  • 单行注释: #
  • 多行注释:三个引号开始,三个结束

操作符

  • **表示幂 - 如x**y返回x的y次幂
  • /表示硬除法,3/2=1.5
  • //表示软除法(下取整),3/2=1
  • a>b>c ,可以连续比较
  • and代表&&or代表||
  • 没有自增(++)和自减(--)操作符

数据类型

  • bool: True 和 False

  • 空值:None

赋值操作

  • 多个变量赋值
a, b = 2, 5
  • 两个值的交换
a,b = b,a
  • 可以连续赋值
a = b = c = 1

语法

  • 只有条件语句,没有switch语句,条件判断不加圆括号
if a > b: do something... elif a == b: do something... else: do something...
  • for循环不是三段式
for i in range(11): #i=[0,1,....,9,10] do something... for i in range(1,10): #i=[1,....,9,10] do something... x = [2,5,8,9] for i in x: #i=[2,5,8,9] do something... x = "abcdefg" for i in x: #i=['a','b','c','d','e','f','g'] do something...

基本数据类型

Number(数字)

  1. int
    • oct(int):转换为8进制
    • hex(int):转换为16进制
    • bin(int):转换为2进制
  2. float
  3. bool
    • Ture
    • False
  4. complex

String(字符串)

  • 字符串中的值不可修改,但字符串变量地址可以该表

  • 字符串格式化

print("我叫 %s 今年 %d 岁!" % ('小明', 10)) print("我叫 {0} 今年 {1} 岁!".format("小明", 10))
  • 原样输出字符串,不转义
print(r"\n") #输出: \n print(R"\n") #输出: \n
  • 续行字符串

可用\在两字符串之间连接

s1 = 'hhhh' \ 'h' s2 = "3333" \ "33"

也可用三引号直接续行

s3 = '''哈哈哈哈 哈哈''' s4 = """哈哈哈哈 哈哈"""
  • 函数
函数 说明
lower() 字符串转为全小写
upper() 字符串转为全大写
capitalize() 字符串转为首字母大写
swapcase() 字符串的大小写交换
split(sep[, num]) 以str为分隔符分隔字符串,如果num有指定值,则仅截取num个子字符串
join(seq) 以指定字符串作为分隔符,将seq中所有的元素合并为一个新的字符串
find(str[,strat[,end]] ) 检测str是否包含在字符串中,如果指定范围start和end,则检查是否包含在指定范围内。如果包含,返回str的索引值,否则返回−1
rfind(str[,strat[,end]] ) 检测str是否包含在字符串中(从最后往前找),如果指定范围start和end,则检查是否包含在指定范围内。如果包含,返回str的索引值,否则返回−1
index(str[,strat[,end]] ) 与find类似,区别在于找不到匹配子串抛出异常
rindex(str[,strat[,end]] ) 与rfind类似,区别在于找不到匹配子串抛出异常

List(列表)

函数名 作用
append(obj) 末尾添加元素
remove(obj) 删除列表中第一个匹配的元素
index(obj) 找出列表中第一个匹配的元素的下标
count(obj) 统计列表中匹配的元素次数
extend(seq) 在原列表中扩展Seq列表中的元素
insert(index,obj) 在index下标出插入对象obj
pop(index=-1) 删除一个(默认最后一个)元素

Dict(字典)

  • 创建
dict1={} #创建空字典 #三种方式 dict2={"id":101,"name":"Rose","ad":"CJroad","pcode":"116022"} dict3=dict(id=101,name="Rose",ad=“CJroad",pcode="116022") dict4=dict([('id',101),('name','Rose'),('add',‘CJroad'))
  • 函数
函数 说明
keys() 获得键的视图
values() 获得值的视图
items() 获得键值对的视图
get(key) 获取键为key的值
pop() 从字典中删除键,并返回对应的值
popitem() 从字典删除并返回键值对,删除最后一个
copy() 返回一个字典的复本,但新产生的字典与原字典的id是不同的
update(dict) 可以使用一个字典更新另一个字典,如果两个字典有相同的键存在,键值对会进行覆盖。
  • 遍历方式
for key in d.keys(): print(key+":"+str(d.get(key))) for key in d.keys(): print(key+":"+str(d[key]))

Set(集合)

  • set()函数用来创建集合。

  • set()函数最多有一个参数。

  • 参数必须是可迭代的类型。

  • 函数

函数 作用
add(obj) 添加元素
remove(obj) 移除某个元素
isdisjoint(obj) 判断集合中是否个子在重复元素
  • 集合运算
S&T或S.intersaction(T)
S或T或S.union(T)
S-T或S.difference(T)
S^T或s.symmetric_difference_update(T)
S<=T或 S.issubset(T)
S>=T或S.issuperset(T)

Tuple(元组)

  • 与List相似,用()括起来,是包含0个或多个元素的不可变序列类型,任何元素不能替换或删除。
  • 列表和元组相互转换的函数是tuple(lst)和list(tup)

Bool(布尔)

TrueFalse,注意,和Java,JS以及C/C++等不同,首字母大写

文件读写

open(“文件路径名”[, “mode”]),mode的取值为r,r+,w,w+,a,rb,wb

# 写操作 f = open("./text/hello.txt", 'w') string = "hello world!" f.write(string) f.close() # 读操作 f = open("./text/hello.txt", 'r') string = f.readline() print(string) f.close()

函数

与其他语言类似

def getscore(pe,eng,math,phy,chem=100): #chem=100是默认参数,不传参则为100 '''计算几科成绩的平均分''' return pe*0.5+eng*1+math*1.2+phy*1+chem*1

访问权限

在前面加入下划线,如__id表示私有成员,外部函数不可访问

案例

# 类定义 class people: # 定义基本属性 name = '' age = 0 # 定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 # 定义构造方法 def __init__(self, n, a, w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 说: 我 %d 岁。" % (self.name, self.age))
# 单继承示例 class student(people): grade = '' def __init__(self, n, a, w, g): # 调用父类的构函 people.__init__(self, n, a, w) self.grade = g # 覆写父类的方法 def speak(self): print("%s 说: 我 %d 岁了,我在读 %d 年级" % (self.name, self.age, self.grade)) # s = student('ken', 10, 60, 3) # s.speak()
# 另一个类,多重继承之前的准备 class speaker(): topic = '' name = '' def __init__(self, n, t): self.name = n self.topic = t def speak(self): print("我叫 %s,我是一个演说家,我演讲的主题是 %s" % (self.name, self.topic))
# 多重继承 class sample(speaker, student): a = '' def __init__(self, n, a, w, g, t): student.__init__(self, n, a, w, g) speaker.__init__(self, n, t) test = sample("Tim", 25, 80, 4, "Python") test.speak() # 方法名同,默认调用的是在括号中排前地父类的方法

标题: Python基础
链接: https://www.fightingok.cn/detail/1
更新: 2022-09-18 22:31:13
版权: 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可