Python入门(六)常用语法复习

本文回顾了Python编程的基础知识,包括编码、关键字、复数运算、除法、数学函数、随机数生成、列表操作、元组、集合、斐波那契数列、范围函数、异常处理、类定义等,适合初学者和需要复习的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没有练习过Python的代码了,最近要开始写界面了,所以简要复习了一下。

"""1.编码问题"""
# 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串
print("你好,Python")
""" 2.关键字 """
import keyword
count = 0
for i in keyword.kwlist:
    print(i, end=' ')       # 关键字之间以空格作为分割
    count += 1
    if count % 10 == 0:     # 控制每行输出10个关键字
        print(end='\n')
"""3.复数"""
number1 = 3
number2 = 4
temp = complex(number1, number2)
print(temp)
print("{0}的实部和虚部分别为{1},{2}".format(temp, temp.real, temp.imag))

在这里插入图片描述

"""4.除法运算"""
a = 10
b = 3
print("{0}除以{1}等于{2}".format(a, b, a/b))    # /返回浮点型
print("{0}整除{1}等于{2}".format(a, b, a//b))   # //为整除运算
a = 20.9
print("{0}整除{1}等于{2}".format(a, b, a//b))   # //分子或者分母至少有一个是浮点数,结果为浮点数
b = 2
print("{0}除以{1}等于{2}".format(a, b, a/b))

在这里插入图片描述

"""5.常用数学函数"""
import math
# 绝对值函数 abs() 是内置函数   还可以用在复数中
print("abs(3+4j)=", abs(3+4j))
# fabs() 函数在 math 模块中定义  只对浮点型跟整型数值有效
print("math.fabs(-10)=", math.fabs(-10))
# 上入整数
print("math.ceil(-4.3)=", math.ceil(-4.3))
# 下舍整数
print("math.floor(4.3)=",math.floor(4.3))
# e的x幂
print("math.exp(1)=", math.exp(1))
# 对数
print("math.log(100, 10)", math.log(100, 10))
print("math.log10(1000)=", math.log10(1000))
# 最大最小值
print("max('a', 'A')=", max('a', 'A'))
print("min(10, 20)=", min(10, 20))
# 幂函数
print("pow(2, 3)=", pow(2, 3))
# 平方根
print("math.sqrt(9.0)=",math.sqrt(9.0))
# 返回整数与小数部分
print(math.modf(10.8), math.modf(10.8)[0], math.modf(10.8)[1])

在这里插入图片描述

"""6.随机数函数"""
import random
# 随机生成的一个实数,它在[0,1)范围
print("random:", random.random() * 21 + 100)  # # 实现 100-120 随机小数
# random integer in range [a, b], including both end points
print("randint:", random.randint(3, 7))
# Get a random number in the range [a, b) or [a, b] depending on rounding
print("uniform:", random.uniform(100, 105))
# Choose a random element from a non-empty sequence
# 从0到9中随机挑选一个整数
print("choice:", random.choice(range(10)))

在这里插入图片描述

"""7.help()函数"""
help(print)   # 查看print定义

在这里插入图片描述

"""8.列表推导式"""
# [表达式 for 变量 in 列表]
# [表达式 for 变量 in 列表 if 条件]
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print([x**2 for x in li])
print([x**2 for x in li if x>5])
print(dict([(x, x*10) for x in li]))
print([(x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8])
print([x*y for x in [1, 2, 3] for y in [1, 2, 3]])

在这里插入图片描述

"""9.列表的复制"""
# 通过切片的方式复制 两个列表,即重新开辟了空间
# 通过=复制 一个列表
# 通过copy() 两个列表
my_foods = ['pizza', 'falafel', 'carrot cake']
# friend_foods = my_foods[:]
# friend_foods = my_foods
friend_foods = my_foods.copy()
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)

my_foods.append('cannoli')
friend_foods.append('ice cream')
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)
"""10.创建二维列表"""
#  行 Row 列 Column
list_2d = [[0 for col in range(2)] for row in range(3)]
print(list_2d)

在这里插入图片描述

"""11.元组"""
# 创建
tup1 = ()
tup2 = (5,)     # 只有一个元素时需要加上逗号
"""12.集合:无序的不重复元素序列"""
# 创建 :可以使用大括号 { } 或者 set() 函数创建集合,创建一个空集合必须用 set() 而不是 {}
a = set('abracadabra')
b = set('alacazam')
print("集合a:", a)
print("集合b:", b)
# 集合间运算
print("a - b:", a - b)  # 在a不在b
print("a | b", a | b)   # 或者在a或者在b
print("a & b", a & b)   # 同时在a和b
print("a ^ b", a ^ b)   # 不同时在a和b

在这里插入图片描述

# 13.Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
    print(b, end=' ')   # 以空格分隔每个数
    a, b = b, a+b   # 先计算=右边的表达式,然后同时赋值给左边对应的变量
"""14.range()"""
# help(range)
#  range(start, stop[, step]) -> range object
# Return an object that produces a sequence of integers from start (inclusive)to stop (exclusive) by step.
for i in range(5):      # 默认从0开始
    print(i, end=' ')
print()
for i in range(5, 10):  # 左闭右开区间
    print(i, end=' ')
print()
for i in range(5, 10, 2):  # 第三个参数表示步长
    print(i, end=' ')
print()
# 创建一个列表
list1 = list (range(5))
print("列表:", list1)
# 遍历序列
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
for i in range(len(a)):
    print(i, a[i])
"""15.enumerate 函数"""
# enumerate(iterable[, start]) -> iterator for index, value of iterable
# enumerate is useful for obtaining an indexed list:(0, seq[0]), (1, seq[1]), (2, seq[2]), ...
sequence = [12, 34, 34, 23, 45, 76, 89]
for i, j in enumerate(sequence):
    print(i, j, sep=":", end="  ")

在这里插入图片描述

# 16.函数返回值
def fun(a, b):
    """返回多个值,结果以元组形式表示"""
    return a, b, a + b


print(fun(1, 2))

在这里插入图片描述

"""17.字典的遍历"""
# 使用items()
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in knights.items():    # 关键字和对应的值可以使用 items() 方法同时解读出来
    print(k, v)
# 使用zip()
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):    # 同时遍历两个或更多的序列,可以使用 zip() 组合
    print('What is your {0}?  It is {1}.'.format(q, a))
# 使用reversed()
for i in reversed(range(1, 10, 2)):
    print(i, end=" ")
print()
# 使用sorted()
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for f in sorted(set(basket)):   # 排序
    print(f, end=" ")

在这里插入图片描述

"""18.模块的使用"""
# 模块是一个包含所有用户定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能
import sys

print('命令行参数如下:')
for i in sys.argv:  # 从程序外部向程序传递参数
    print(i, end=' ')

print('\nPython 路径为:', sys.path, '\n')    # 获取指定模块搜索路径的字符串集合

在这里插入图片描述

"""19.__name__"""
# 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入
if __name__ == '__main__':
    print('程序自身在运行')
else:
    print('我来自另一模块')
"""20.文件读写"""
f = open("temp.txt", "a")   # 追加形式打开文件,文件不存在时会创建
f.write("今天是2018年12月11日,现在是21点24分")     # 写入文件
f.close()   # 关闭文件
f = open("temp.txt", "r")
str_read = f.read()  # 读取文件
print("read:", str_read)
f.close()   # 关闭文件

在这里插入图片描述

"""21.with关键字:结束后,会争取关闭文件"""
with open("temp.txt", "r") as f:
   str_read = f.read()
f.close()
"""22.pickle模块
序列化操作:将程序中运行的对象信息保存到文件中去,永久存储
反序列化操作:我们能够从文件中创建上一次程序保存的对象"""
import pickle

data = ['aa', 'bb', 'cc']
# dump 将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件
with open("pickle.pk", 'wb') as f:
   pickle.dump(data, f)
# load 从数据文件中读取数据,并转换为python的数据结构
with open("pickle.pk", 'rb') as f:
   data2 = pickle.load(f)
   print(data2)

在这里插入图片描述

"""23.异常处理"""
def divide(x, y):
   
   try:
      result = x / y
   except ZeroDivisionError:
      print("division by zero!")
   else:  # try字句没有发生异常时执行
      print("result is", result)
   finally:  # 无论是否发生异常,均执行finally字句
      print("executing finally clause")


divide(10, 5)
divide(10, 0)

在这里插入图片描述

"""24.类的定义和使用"""


class People:   # People 类
   name = ''
   age = 0
   __weight = 0    # 两个下划线开头,声明该属性为私有

   # 类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例
   def __init__(self, name, age, weight):  # 定义构造函数
      self.name = name
      self.age = age
      self.__weight = weight

   def speak(self):
      print("调用People类的speak方法")
      print("{0}说:我今年{1}岁。".format(self.name, self.age))


class Speaker:  # Speaker 类
   topic = ''
   name = ''

   def __init__(self, topic, name):    # 定义构造函数
      self.topic = topic
      self.name = name

   def speak(self):
      print("调用Speaker类的speak方法")
      print("我是{0},我今天演讲的主题是{1}".format(self.name, self.topic))


# 类的单继承,Student类继承People类
class Student(People):
   grade = ''

   # 定义子类的构造函数
   def __init__(self, name, age, weigth, grade):
      People.__init__(self, name, age, weigth)  # 调用父类的构造方法
      self.grade = grade

   # 覆盖父类的方法
   def speak(self):
      print("调用Student类的speak方法")
      print("{0}说:我今年{1}岁,我在读{2}年级。".format(self.name, self.age, self.grade))


# 类的多继承
class Sample(Speaker, Student):
   def __init__(self, name, age, weight, grade, topic):
      Student.__init__(self, name, age, weight, grade)
      Speaker.__init__(self, topic, name)


s = Student('lh', 21, 45, 4)
s.speak()
test = Sample("tim", 23, 90, 4, "Python")
test.speak()    # 方法名同,默认调用的是在括号中排前地父类的方法

在这里插入图片描述

Pycharm

1.调整tab键为4个空格

在这里插入图片描述

2.设置命令行参数
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中凌乱的小精灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值