1,变量的命名应当符合什么规则?
由字母、下划线 和数字 组成不能以数字开头不能与关键字重名建议不要与内置函数或者类重名,不然会覆盖原始内置函数的功能区分大小写如果 变量名 需要由 二个 或 多个单词 组成时每个单词都使用小写字母单词与单词之间使用 _下划线 连接
2,变量的类型有哪些?
整型 (int)浮点型(float)布尔型(bool) 真 True假 False复数型 (complex)字符串列表元组字典
3,Python中关键字有哪些?请至少写出10个
if、elif、else、while、break、continue、for、in、is、or、and、not、def、None、True、False
4,如何查看变量的内存地址、变量的类型以及如何比较两个变量值的大小?
a.如何查看变量的内存地址id
b.变量的类型type
c.如何比较两个变量值的大小?==
5,数字类型的字符串(如:"123")与数字类型之间如何相互转换?
数字类型的字符串转换为数字int、float数字类型转换为数字类型的字符串str
6,字符串与列表之间如何相互转换
str -> list
字符串.split("") 按指定分隔符截断,结果就是列表。
或者直接list(字符串),每个字符为列表的成员。
list -> str
"".join(列表) 将列表的值拼成一个字符串。要求列表的每个成员是字符串
直接str(list变量) 将整个列表直接转换为字符串类型,字符串内容与列表一模一样
7,Python中的运算符有哪些种类?
算术、赋值 一般是整数或者符点数的计算,计算结果也是整数或者符点数。
比较、逻辑、成员运算符 结果是布尔值,一般可以作为判断的条件。
8,Python中逻辑运算符有哪些?它们之间有什么区别?
and一假必假,两真才为真or一真必真,两假才为假not以假乱真
9,有哪些方法可以修改列表中的某个元素呢?
列表[index] = value
列表[start_index:end_index] = value
10,列表中的append和extend的区别
append是将给定的数据加入到列表中(将一个整体作为一个元素加入列表中)extend是将序列类型的数据扩充到列表中(将序列类型的每一个数据取出之后,加入到列表中)
11,元组和列表之间如何相互转换?
tuple -> list list()
list -> tuple tuple()
12,获取字典中的某个值,有哪几种方法?有什么区别?
字典[key]key不存在会报错
字典.get(key)key不存在不会报错,返回None,也可指定返回值
13, 我们学过的,不可变类型有哪些?可变类型有哪些?
不可变类型strtupleint、float、bool
可变类型list dict
Ps:可以自行拓展一下更多的区别哦。
14,Python中是用什么方法来进行输出操作的?它有哪些常用的参数呢?
参数:*args 传多个参数,打印多个值
end print打印的结束符,默认是换行
sep 打印多个值之间的分隔符,默认是空格
15,for和while的区别?
应用场景上:
while 循环执行次数往往不确定
for 循环次数已知,推荐使用
语法 上:
while后面跟条件,为避免死循环,在while内部会有退出循环的条件并使用break跳出; 也会在循环在内部,做些处理能够在循环过程中,使while的条件能达到不成立的时候。
for循环主要是用来遍历列表/字典/元组。
16,局部变量和全局变量有什么区别?
全局变量:在全局作用域(全局命名空间)中定义
局部变量:在局部作用域(局部命名空间)中定义
比如,函数内部定义的变量,就是局部变量,仅函数内部可用。
在py文件中,定义的变量,就是当前py文件内容全局可用。
17,函数参数有哪几种定义方式?
3种。必传参数,默认参数,和个数可变参数。
必传参数:在调用时必须传递,并且要按照位置传参。
默认参数:在定义时直接指定默认值。在调用时,可以传可以不传。
可变参数:定义时通过*args,或者**kwargs表达。函数内部视为元组或者字典 。
在调用的时候,可以传多个值。
比如,print函数就用到了*args。
18,类和对象当中,self是什么?cls又是什么?类中定义方法时,有哪几种形式?
在类当中,self代表对象本身,cls代表类本身。
类中定义方法时,可以定义3种
第一种,实例方法,第一个参数就是self,实例对象可以调用。
第二种,类方法,需要@classmethod装饰,第一个参数是cls,类和实例都可以调用。
第三种,静态方法,需要@staticmethod装饰,没有固定要传的参数,只是普通函数,不过作用域在类的命名空间里。类和实例都可以调用。
19,什么情况下会使用super函数?
一般是在类的继承中使用,当子类重写父类同名方法,并且要调用父类同名方法时,通过super()去调用。
比如子类的初始化方法当中,调用父类的初始化方法,就使用super().__init__方式。
二:简答题
1,编写如下程序使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和
i = 2 # 定义循环变量
result = 0 # 定义一个变量用于保存结果
while i <= 100:
if i % 2 == 0:
result += i
else:
result -= i
i += 1 # 修改循环变量
print("2 - 3 + 4 - 5 + 6 ... + 100之和为{}".format(result))
2,编写如下程序
用户输入考试成绩,当分数高于90(包含90)时打印A;否则如果分数高于80(包含80)时打印B;否则如果当分数高于70(包含)时打印C;否则如果当分数高于60(包含60)时打印D;其他情况就打印E
score = int(input("请输入你的考试成绩:"))
if score >= 90:
print("你成绩为:A")
elif score >= 80:
print("你成绩为:B")
elif score >= 70:
print("你成绩为:C")
elif score >= 60:
print("你成绩为:D")
else:
print("你成绩为:E")
3,编写如下程序
假设一年的定期利率为3.52%,需要几年才能让定期存款连本带息的翻一番(例如:需要几年10000才能变成20000)
save_money = float(input("请输入你要存入银行的钱:"))
print("你存了{}元到银行!".format(save_money))
TOTAL_MONEY = save_money * 2 # 定义变量用于保存总钱数
year = 1 # 定义变量用于记录年份
while save_money < TOTAL_MONEY:
save_money *= (1 + 0.0352)
year += 1
print("定期利率为3.52%,需要{}年本金和才能翻一番。".format(year))
3,编写如下程序从键盘获取一个数字,然后计算它的阶乘,例如输入的是3,那么即计算3!的结果,并输出 提示:
a. 1!等于 1
b. 2!等于 1*2
c. 3!等于 1*2*3
d. n!等于 1*2*3*...*n
def is_int(int_num):
""" check whether int_num is integer! """
if isinstance(int_num, str): # 判断是否为字符串类型
if int_num.isdigit():
return True
else:
return False
elif isinstance(int_num, int): # 判断是否为整数类型
return True
else:
return False
def count_factorial(one_num):
""" count one_num's fatorial """
result = 1
if one_num < 0:
print("{}为负数,没有阶乘!".format(one_num))
return None
elif one_num in (0, 1):
return 1
else:
for i in range(1, one_num + 1):
result *= i
return result
input_num = input("请输入一个正整数:")
if is_int(input_num):
input_num = int(input_num)
print("{}的阶乘为:{}".format(input_num, count_factorial(input_num)))
else:
print("输入的{}有误,请输入一个正整数!".format(input_num))