与类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(数字)
- int
- oct(int):转换为8进制
- hex(int):转换为16进制
- bin(int):转换为2进制
- float
- bool
- Ture
- False
- 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(布尔)
True
和False
,注意,和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 协议进行许可 |