初始Python
```python
x = int(input("请输入成绩1\n"))
y = int(input("请输入成绩2\n"))
def fn(x1, y1):
return x1 + y1
class MyClass:
aa = 1
def foo(self, name):
self.aa = name
cl = MyClass()
cl.foo("小米")
print(cl.aa)
c = fn(x, y)
if (c / 2) <= 60:
print("小", c)
elif (c / 2) <= 85:
print("中", c)
else:
print("大", c)
数据类型转换
int()
float()
bool()
str()
print(bool(""))
print(bool("asd"))
print(bool(0))
print(bool(1))
print(bool(-1))
print(bool(None))
#
print(str(""))
print(str("asd"))
print(str(0))
print(str(True))
print(str(-1))
print(str(None))
查看数据类型:type()
小敏 = '''
1 2 3
32 23
3232322
'''
print(小敏)
print(type(小敏)) # <class 'str'>
字符串定义
单引号’asd’
双引号"sda"
三单引号’‘’ 123 asd’‘’
三双引号"“” 1234asd “”"
del删除变量
b = 12
del b
输入输出
输入:input()
x = int(input("请输入成绩1\n"))
y = int(input("请输入成绩2\n"))
输出:print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)
1.objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。
2.sep – 用来间隔多个对象。
3.end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。
4.file – 要写入的文件对象。
print("小", c)
运算符
# print("1"+1)
print(1+1)
print("1"+"1")
print(2**4)#幂运算
print(2*3)
print("a"*3)#3个a
print(6/2)#结果为小数
print(6//2)#整除 结果为整数
print(6%4)
练习
# 1斤16两,输入两数输出几斤几两
x = int(input("输入:"))
y = x//16
z = x%16
print(str(y)+"斤"+str(z)+"两")
# 输入123输出321,输入700输出7,输入701输出107
x = input("请输入:")
b = ''
c = ''
d = 0
for i in x:
b = i + b
for z in b:
if int(z) != 0:
if d == 0:
c = b
break
c = c + z
else:
d=d+1
continue
print(c)
增强运算符
is / is not,用来判断是否为同一个对象
x = 12
print(x)
x += 1
print(x)
x -= 1
print(x)
x *= 2
print(x)
x //= 2
print(x)
x /= 2
print(x)
x %= 5
print(x)
print(not 1 == '1')
print(1 > 0 and 1 < 2)
print(1 > 0 and 1 < 0)
print(1 > 0 or 1 < 0)
print(not False and True or False)
a = [1,2,3]
b = [1,2,3]
c = a
print(a is c)
print(a is not c)
练习判断闰年
year = int(input("年份"))
if((year % 4 == 0 and year % 100 != 0) or year % 400 == 0):
print("true")
else:
print("false")
字符串
字符串迭代
s = input("输入一串数字")
sum = 0
#for i in s:
# sum+=int(i)
for i in range(0, len(s),1):
sum += int(s[i])
print(sum)
字符串详细操作及函数
取消转译运算符前面加小写r
print("xxx000\nxxx")
print(r"xxx000\nxxx")
成员运算符 in 包含, not in 不包含
i= "123"
i2= "1234"
print(i in i2)
print(i not in i2)
字符串下标
print(i[1]) # 2
print(i[len(i)-1]) # 3
切片
c2 = c1[开始索引:结束索引:步长] 包左不包右
c1=[0,1,2,3,4,5,6]
c2 = c1[0:3:2]
# 切片倒序
c3 = c1[::-1]
print(c1)
print(c2)
print(c3)
字符串与字节串的转换
# bytes(字符串,"字符集")
s="asdasDsd,大苏打"
s1 = bytes(s,"utf-8")
print(s1)
# 字符串与字节串的转换
# 字节串.decode("字符集")
s2 = s1.decode("utf-8")
print(s2)
大小写转换
# 转大写
# 字符串.upper()
s3 = s.upper()
print(s3)
# 转小写
# 字符串.upper()
s3 = s.lower()
print(s3)
字符串替换
# 字符串.replace("替换前","替换后")
s4 = s.replace("as",".")
print(s4)
是否为指定开头,是否为指定结尾
# 字符串.startswith("as")
s4 = s.startswith("as")
print(s4)
# 字符串.endswith("as")
s4 = s.endswith("s")
print(s4)
出现次数
# 字符串.count("s")
s4 = s.count("s")
print(s4)
格式划字符串
# %0.3f 保留3位小数
name = "小明"
age = 18
height = 178.303
s1="我叫%s,我今年%d岁,身高%0.3f"%(name,age,height)
print(s1)
#方式2 "我叫{0},我今年{1}岁,身高{2}".format(name,age,height), {}中可以写下标
s2="我叫{},我今年{}岁,身高{}".format(name,age,height)
print(s2)
# 方式三
s3=f"我叫{name},我今年{age}岁,身高{height}"
print(s3)
元组(tuple)
有一系列变量组成一个不可变序列容器(按需分配空间)
不可变:一旦创建,不可修改/删除/添加元素
元组定义
元组名 = (1,2,3)
t = (12,)
print(t2)
print(type(t2))
单个元素的元组
单个元素的元组需要在元素后边加一个逗号
t1 = (1,2,"m")
print(t)
print(type(t))
可迭代对象转换为元组
元组名 = tuple(可迭代对象)
l1 = [11,22,0,33]
t2 = tuple(l1)
print(t2)
print(type(l1))
print(type(t2))
访问
索引访问
切片访问
print(t1[1])
t3 = t1[0:2:]
print(t3)
print(type(t3))
拆包
a,b,c =(11,12,13)
print(a,b,c)
多余的合并为一个列表赋值给带*的
a1,*b1 =(11,12,13)
print(a1,b1)
print(type(b1))
*a2,b2 =(11,12,13)
print(a2,b2)
字典(dict)
字典的每个键值 key: value 用冒号 : 分割,且每个对之间用逗号 , 分割,整个字典包括在花括号 {} 中
不可变:一旦创建,不可修改/删除/添加元素
不允许同一个键出现两次。创建时如果同一个键被赋值两次,则后一个值会被记住
键必须不可变,所以可以用数字、字符串或元组充当,而用列表就不行
字典定义
在使用 {} 创建字典时,在{} 内要以 key:value 的形式编写。
empty_dict = {}
d1 = {
"name": "小明",
"age": 18,
"xq":("读书", "看报"),
"job":["前端", "后端"],
}
print(d1)
print(d1["name"])
在使用 dict() 创建字典时,在小括号 () 内要以 key=value 的形式编写。
empty_dict = dict()
d2 = dict(name = "xx", age = 18)
print(d2)
for循环遍历
逐个打印字典中的所有键名:
for key in d1:
print(key,d1[key])
用values(),可以直接获取值
for v in d1.values():
print(v)
用items(),可以直接获取key,值
for k,v in d1.items():
print(k,v)
集合(set)
集合是由不重复且不可变类型的变量组成的一个散列容器
集合名 = set(可迭代对象)
存储不可变且唯一的元素
有去重的功能
集合定义
集合名 = {元素1,元素2}
s1 = {
"xxx",
"小明",
"qqq"
}
s2 = set([1,2,3,4,5,6])
s3 = set(range(10))
s4 = set("牛逼牛逼牛逼")
print(s1)
print(s2)
print(s3)
print(s4)
添加元素 集合.add()
s1.add("666")
print(s1)
删除元素 集合.discard()
s1.discard("666")
print(s1)
清空元素 集合.clear()
s1.clear()
print(s1)
遍历set
for v in s2:
print(v)
集合运算符
& 两个集合的交集 | 两个集合的并集 - 两个集合的补集 ^ 两个集合的对称集 > 一个集合是另一个集合的超集 < 一个集合是另一个集合的子集
print({1,2,3} & {2,3,4})#{2, 3}
print({1,2,3} | {2,3,4})#{1, 2, 3, 4}
print({1,2,3} - {2,3,4})#{1}
print({1,2,3} ^ {2,3,4})#{1, 4}
print({1,2,3,4} > {2,3,4})#True
print({1,2,3} < {2,3,4})#False