当前位置:   article > 正文

一天快速入门python—基本语法篇_当函数调用时,若只传入一个参数,则值传给x,n使用默认值,返回x的10次幂

当函数调用时,若只传入一个参数,则值传给x,n使用默认值,返回x的10次幂

Python 是由Guido Van Rossum在 90 年代早期设计,现在是最常用的编程语言之一。特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言。

Python基本语法

标识符

第一个字符必须是英文字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。

保留字

保留字即关键字,不能用作任何标识符名称。 keyword 模块可以输出当前版本的所有关键字:

  1. import keyword
  2. print(keyword.kwlist)
  3. ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

注释

单行注释采用#,注释是给人看的,可以是任意内容,解释器会忽略掉注释。

多行注释采用'''或"""。

  1. # print("我是注释,不会执行")
  2. print("正常执行代码")
  3. '''
  4. 这是多行注释,用三个单引号
  5. 这是多行注释,用三个单引号
  6. '''
  7. print("Hello, World!")
  8. """
  9. 这是多行注释,用三个双引号
  10. 这是多行注释,用三个双引号
  11. """
  12. print("Hello, World!")

行与缩进

Python 使用缩进来表示代码块而不是大括号 {}。 缩进的空格数是可变的,但是同一个代码块的语句必须是相同的缩进空格数。建议四个空格数。

注意Tab和四格空格混用会报错,这个错误还不容易被察觉。

输入输出

通常是一条语句一行,如果语句很长,我们可以使用反斜杠(\)来实现多行语句。在 , {}, 或 中的多行语句,则不需要反斜杠。

  1. sentence1 = "I love " + \
  2. "python"
  3. sentence2 = ["I", "love",
  4. "python"]

基本数据类型

计算机程序要处理不同的数据,需要定义不同的数据类型。Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python中变量就是变量,没有类型,所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

数字类型(Number)

数字类型是不可变数据。Python3 支持 int(整数)、float(浮点数)、bool(布尔)、complex(复数),数值类型的赋值和计算是很直观的。

  1. # int(整数)
  2. a = 3
  3. # float(浮点数)b = 3.5
  4. #bool(布尔)
  5. c = True#complex(复数)
  6. d = 4+3j
  7. print(a, b, c, d)#内置的 type 函数可以用来查询变量所指的对象类型
  8. print(type(a), type(b), type(c), type(d))
  9. #还可以用 isinstance 来判断#isinstance 和 type 的区别在于:type不会认为子类是一种父类类型,isinstance会认为子类是一种父类类型
  10. print(isinstance(a, int))
  11. print(isinstance(a, float))

关于数值运算,可以同时为多个变量赋值,如a, b = 1, 2。一个变量可以通过赋值指向不同类型的对象。

除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。混合计算时,Python会把整型转换成为浮点数。

  1. # 加
  2. print("Add operation: 5 + 4 = ",5 + 4)
  3. # 减print("Sub operation: 5 - 4 = ",5 - 4)
  4. # 乘print("Mul operation: 5 * 4 = ",5 * 4)
  5. # 除,得到一个浮点数print("Div operation: 5 / 4 = ",5 / 4)
  6. # 除,得到一个整数print("Div operation: 5 // 4 = ",5 // 4)
  7. # 取余print("Mod operation: 5 % 4 = ",5 % 4)
  8. # 乘方print("Pow operation: 5 ** 4 = ",5 ** 4)

字符串类型(String)

Python 没有单独的字符类型,一个字符就是长度为1的字符串。字符串用单引号 ' 或双引号 " 括起来。

  1. s1 = "I love python"
  2. s2 = 'I love python'
  3. print(s1)
  4. print(s2)
  5. #索引值以 0 为开始值,-1 为从末尾的开始位置
  6. print("s1首字母字符:", s1[0])
  7. print("s1末尾字母字符:", s1[-1])
  8. print("输出从第三个开始到第五个的字符:", s1[2:5])
  9. #加号 + 是字符串的连接符#星号 * 表示复制当前字符串,紧跟的数字为复制的次数str = "I love python "
  10. print("连接字符串:", str + "!!!")
  11. print("输出字符串两次:", str * 2)
  12. #反斜杠 \ 转义特殊字符#若不想让反斜杠发生转义,可以在字符串前面添加一个 rprint('I\nlove\npython')
  13. print("反斜杠转义失效:",r'I\nlove\npython')

列表类型(List)

列表类型是一种有序的集合。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号 之间、用逗号分隔开的元素列表。

  1. list_a = [1, 2, 3, 4, 5, 6]
  2. list_b = [7, 8, 9]
  3. print(list_a)
  4. print(list_b)
  5. #列表可以被索引和截取,列表被截取后返回一个包含所需元素的新列表
  6. print ("输出完整列表: ", list_a)
  7. print ("输出列表第一个元素:", list_a[0])
  8. print ("从第二个开始输出到第三个元素:", list_a[1:3])
  9. print ("输出从第三个元素开始的所有元素:", list_a[2:])
  10. print ("连接两次列表:", list_a * 2)
  11. print ("连接列表:", list_a + list_b)
  12. #列表中的元素是可以改变的
  13. list_a = [1, 2, 3, 4, 5, 6]
  14. print("变化前:", list_a)
  15. list_a[0] = 0
  16. list_a[2:5] = [7, 8, 9]
  17. print("变化后:", list_a)
  18. #append方法:在列表末尾添加新的对象
  19. list_a = [1, 2, 3, 4, 5, 6]
  20. print("添加前:", list_a)
  21. list_a.append(7)
  22. list_a.append(8)
  23. print("添加后:", list_a)
  24. #del语句:删除列表元素
  25. list_a = [1, 2, 3, 4, 5, 6]
  26. print("删除前:", list_a)
  27. del list_a[0]
  28. print("删除后:", list_a)
  29. #len方法:计算列表长度
  30. list_a = [1, 2, 3, 4, 5, 6]
  31. print("列表长度:", len(list_a))
  32. #max方法:返回列表元素最大值。min方法:返回列表元素最小值
  33. list_a = [1, 2, 3, 4, 5, 6]
  34. print("列表最小值:", min(list_a))
  35. print("列表最大值:", max(list_a))
  36. #list方法:将字符串转换为列表
  37. str = '123456'
  38. print("转换后:", list(str))
  39. #count方法:统计某个元素在列表中出现的次数
  40. list_a = [1, 1, 2, 3, 4, 5, 6]
  41. print("1在list_a中出现的次数:", list_a.count(1))
  42. #index方法:从列表中找出某个值第一次出现的索引位置
  43. list_a = [1, 2, 3, 4, 5, 6]
  44. print("3第一次出现的位置:", list_a.index(3))
  45. #insert方法:将对象插入列表指定位置
  46. list_a = [1, 2, 3, 4, 5, 6]
  47. print("插入前:", list_a)
  48. list_a.insert(0 ,7)
  49. print("插入后:", list_a)
  50. #pop方法:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  51. list_a = [1, 2, 3, 4, 5, 6]
  52. print("默认移除最后一个元素:", list_a.pop)
  53. print("指定移除第一个元素:", list_a.pop(0))
  54. #reverse方法:翻转列表中元素
  55. list_a = [1, 2, 3, 4, 5, 6]
  56. print("翻转前:", list_a)
  57. list_a.reverse
  58. print("翻转后:", list_a)
  59. #sort方法:该方法没有返回值,但是对原列表进行排序
  60. list_a = [1, 3, 2, 5, 4, 6]
  61. print("排序前:", list_a)
  62. list_a.sort
  63. print("升序排序:", list_a)
  64. list_a.sort(reverse = True)
  65. print("降序排序:", list_a)

元组类型(Tuple)

元组类型是不可变类型,元组使用小括号。

  1. tup1 = (1, 2, 3, 4, 5 )
  2. # 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用tup2 = (50,)
  3. tup3 = (50)
  4. print(type(tup2))
  5. print(type(tup3))
  6. #访问元组:使用下标索引来访问元组中的值tup1 = (1, 2, 3, 4, 5 )
  7. print ("tup1[0]: ", tup1[0])
  8. print ("tup1[1:3]: ", tup1[1:3])
  9. #修改元组:元组中的元素值是不允许修改的,但可以对元组进行连接组合tup1 = (1, 2)
  10. tup2 = ('a', 'b')
  11. # 创建一个新的元组tup3 = tup1 + tup2print(tup3)#删除元组:元素值是不允许删除,但可以使用del语句来删除整个元组tup1 = (1, 2, 3, 4, 5 )
  12. print(tup1)
  13. del tup1print("删除后的元组 tup1: ")
  14. print(tup1)
  15. #元组运算符:如 + 号和 * 号tup1 = (1, 2)
  16. tup2 = ('a', 'b')
  17. print("连接:", tup1 + tup2)
  18. print("复制3次:", tup1 * 3)
  19. #len:计算元组元素个数
  20. tup1 = (1, 2)
  21. print("元组长度:", len(tup1))
  22. #max方法: 返回元组中元素最大值。min方法: 返回元组中元素最小值
  23. tup1 = (1, 2)
  24. print("元组最大值:", min(tup1))
  25. print("元组最大值:", max(tup1))
  26. #tuple方法:将列表转换为元组list1= ['1', '2']
  27. print("转换前:", list1)
  28. tup1 = tuple(list1)print("转换后:", tup1)

集合类型(Set)

集合类型是无序的不重复元素序列。使用大括号 {} 或者 set 函数创建集合。

注意:创建一个空集合必须用 set 而不是 {},因为 {} 是用来创建一个空字典。

  1. a={'a','b','c'}
  2. b=set('abc')
  3. c=setd={}print(a)
  4. print(b)
  5. print(type(a), type(b), type(c), type(d))
  6. #无序性a = set('python')
  7. print(a)
  8. #互异性a = set('good')
  9. print(a)
  10. #add方法:为集合添加元素a = set('good')
  11. a.add('p')
  12. print(a)
  13. #update方法:给集合添加元素a = set('good')
  14. a.update('p')
  15. print("添加一个元素", a)
  16. a.update(['a', 'b', 'c'])
  17. print("添加多个元素", a)
  18. a.update(['H', 'e'], {'l', 'l', 'o'})
  19. print('添加列表和集合', a)
  20. #remove方法:移除指定元素
  21. s = {'P', 'y', 't', 'h', 'o', 'n'}
  22. s.remove('t')
  23. print("去掉t", s)
  24. #pop方法:随机移除元素s = {'P', 'y', 't', 'h', 'o', 'n'}
  25. print("随机删除元素:", s.pop)
  26. #clear方法:移除集合中的所有元素s = {'P', 'y', 't', 'h', 'o', 'n'}
  27. s.clearprint("清空集合:", s, len(s))
  28. #issubset方法:判断指定集合是否为该方法参数集合的子集A = set('abcd')
  29. B = set('cdef')
  30. C = set('ab')
  31. print("C是否A子集:", C.issubset(A))
  32. #union方法:返回两个集合的并集,也可以用 |print("A和B并集:", A|B)
  33. print("A和B并集:",A.union(B))
  34. #intersection方法:返回集合的交集,也可以用&print("A和B交集:", A&B)
  35. print("A和B交集:",A.intersection(B))
  36. #difference方法:差集,也可以用-print("A和B差集:", A-B)
  37. print("A和B差集:",A.difference(B))

字典类型(Dictionary)

字典类型是可变类型。在同一个字典中,键(key)必须是唯一的。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

  1. # 用{}创建字典
  2. dict1 = {"a":"1", "b":"2"}
  3. print(dict1)
  4. # 用内置函数dictdict2 = dict(a="1", b="2")
  5. print(dict2)
  6. #访问字典里的值dict1 = {"a":"1", "b":"2"}
  7. print ("dict1['a']: ", dict1['a']) #如果没有会报错
  8. print ("dict1.get('a'): ", dict1.get('a')) #如果没有返回None
  9. print("获取所有的key值:", dict1.keys)
  10. print("获取所有的value值:", dict1.values)
  11. #增加新的键/值对dict1 = {"a":"1", "b":"2"}
  12. print ("增加前:", dict1)
  13. dict1['c'] = 3
  14. print ("增加后:", dict1)
  15. #删除字典指定元素dict1 = {"a":"1", "b":"2"}
  16. print ("删除前:", dict1)
  17. del dict1['a']
  18. print ("删除后:", dict1)
  19. #清空字典dict1 = {"a":"1", "b":"2"}
  20. print ("清空前:", dict1)
  21. dict1.clearprint ("清空后:", dict1)
  22. #dir方法:查看dict所有方法print(dir(dict))

条件判断和循环

条件控制:通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。在Python中没有switch–case语句。

  1. #if操作
  2. x = 5
  3. if x > 3:
  4. print("yes")
  5. #if嵌套:if...elif...else
  6. #也可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中
  7. x = 99
  8. if x<60:
  9. print("不及格")
  10. elif x<80:
  11. print("良好")
  12. else:
  13. print("优秀")
  14. #while循环sum = 0
  15. counter = 1
  16. while counter <= 10:
  17. sum = sum + countercounter += 1
  18. print("1 到 10 之和为: %d" % sum)
  19. #while 循环使用 else 语句
  20. count = 0
  21. while count < 5:
  22. print (count, " 小于 5")
  23. count = count + 1
  24. else:
  25. print (count, " 大于或等于 5")
  26. #for 语句:for循环可以遍历任何序列(列表、字符串等)
  27. str = 'python'
  28. list1 = ['I', 'love', 'python']
  29. print("遍历字符串")
  30. for i in str:
  31. print(i)
  32. print("遍历列表")
  33. for i in list1:
  34. print(i)
  35. #range函数:遍历数字序列,可以使用内置range函数生成数列
  36. for i in range(5):
  37. print(i)
  38. #也可以使用range指定区间的值
  39. for i in range(2,6):
  40. print(i)
  41. #也可以使range以指定数字开始并指定不同的增量(步长),可以是负数
  42. for i in range(0, 10, 3):
  43. print(i)
  44. for i in range(-10, -100, -30):
  45. print(i)
  46. #可以结合range和len函数以遍历一个序列的索引
  47. list1 = ['I', 'love', 'Python']
  48. for i in range(len(list1)):
  49. print(list1[i])
  50. #break语句:跳出 for 和 while 的循环体
  51. list1 = ['I', 'love', 'Python']
  52. for i in list1:
  53. if i == 'love':
  54. breakprint('当前为 :', i)
  55. #continue语句:跳过当前循环块中的剩余语句,然后继续进行下一轮循环
  56. var = 10
  57. while var > 0:
  58. var = var -1
  59. # 变量为 5 时跳过输出
  60. if var == 5:
  61. continueprint ('当前值 :', var)
  62. print ("hello world!")
  63. #pass 语句:pass是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句while True:pass # 等待键盘中断 (Ctrl+C)

函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

Python提供了许多内建函数,比如“print”,也可以自己创建函数,这被叫做用户自定义函数。

  1. # 1.无参函数
  2. # 用def定义新函数def my_func:print("test...")
  3. return 1
  4. # 调用函数my_func# 2.有参函数
  5. # 关键字参数、默认参数、可变参数。# 关键字参数: 调用时指定参数的名称,且与函数声明时的参数名称一致。使用关键字参数允许函数调用时参数的顺序与声明时不一致。def my_func1(x, y):print(x)
  6. print(y)
  7. # 标准调用my_func1(1, 2)
  8. # 关键字调用def my_func1(y = 1, x = 2)
  9. # 默认参数:在函数声明时,指定形参的默认值,调用时可不传入参数(使用默认值)。def my_func2(x, y=1):
  10. print(x+y)
  11. my_func2(2)
  12. #可变参数:变参数就是传入的参数个数是可变的,可以是1个、2个到任意个。
  13. #在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple。def my_func3(*numbers):sum = 0
  14. for n in numbers:
  15. sum = sum + n * nreturn sum# 函数调用my_func3 #返回结果0
  16. my_func3(1,2) #返回结果5
  17. # 关键字参数:可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
  18. def my_func4(x, **kw):print ('x:', x, 'other:', kw)
  19. #除了必选参数x外,还接受关键字参数kw。在调用该函数时,可以只传入必选参数。my_func4(8)
  20. #也可以传入任意个数的关键字参数my_func4(8, z="66")

类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。

  1. #创建类Student
  2. class Student(object):"学生成绩"
  3. def __init__(self, name, score):
  4. self.name = name
  5. self.score = scoredef print_score(self):
  6. print('%s: %s' % (self.name, self.score))
  7. #创建Student类的对象bartjack = Student('Bart Simpson', 59)
  8. #创建Student类的对象lisabob = Student('Lisa Simpson', 87)
  9. #访问类的属性jack.print_scorebob.print_score# 添加一个 'age' 属性
  10. jack.age = 7
  11. print("添加一个 'age' 属性:",hasattr(jack, 'age'))
  12. # 修改 'age' 属性
  13. jack.age = 8
  14. print("修改 'age' 属性:",getattr(jack, 'age'))
  15. # 删除 'age' 属性
  16. del jack.ageprint("删除 'age' 属性:",hasattr(jack, 'age'))

类的继承

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。

通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。

  1. #编写一个名为Fruit的class,执行run方法可以直接打印
  2. #编写Apple和Orange类时,就可以直接从Fruit类继承
  3. class Fruit(object):
  4. '父类Animal'
  5. def run_father(self):print('调用父类方法...')
  6. class Apple(Fruit):
  7. '子类1 Apple'
  8. def run_son(self):print('调用子类方法...')
  9. class Orange(Fruit):
  10. '子类2 Orange'
  11. def run_son(self):print('调用子类方法...')
  12. #实例化子类apple = Appleorange = Orange#调用父类方法apple.run_fatherorange.run_father#调用子类方法apple.run_sonorange.run_son

方法重写

如果父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法

  1. class Fruit(object):
  2. '父类Animal'
  3. def run(self):
  4. print('调用父类方法...')
  5. class Apple(Fruit):
  6. '子类1 Apple'
  7. def run(self):
  8. print('子类1 Apple 重写父类方法...')
  9. class Orange(Fruit):
  10. '子类2 Orange'
  11. def run(self):
  12. print('子类2 Orange 重写父类方法...')
  13. #实例化子类
  14. apple = Apple
  15. orange = Orange
  16. #调用父类方法
  17. apple.run
  18. orange.run

模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。

  1. # 导入模块
  2. import math
  3. # 现在可以调用模块里包含的函数了print("求e的n次幂:",math.exp(1))
  4. # from…import 语句:从模块中导入一个指定的部分到当前命名空间中# 导入模块中的特定函数from math import exp
  5. # 现在可以直接使用该函数了print("求e的n次幂:",exp(1))
  6. # from…import* 语句:导入一个模块中的所有项目。然而这种声明不该被过多地使用from math import *

最后

如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的。

一方面是学习时间相对较短,学习内容更全面更集中。

Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述
温馨提示:篇幅有限,已打包文件夹,获取方式在“文末”!!!

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/535206
推荐阅读
相关标签
  

闽ICP备14008679号