翼度科技»论坛 编程开发 python 查看内容

python快速直白入门(半新手向,老手复习向)

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
主用python做项目有一段时间,这次简单总结学习下。为后面的项目编写,进行一次基础知识的查缺补漏、
1、变量名和数据类型
  1. """
  2. 变量名,只能由" 数字、大小写字母、_ " 组成,且不能以数字开头
  3. """
  4. # 整数 int
  5. # hashable,不可变对象
  6. a = 5
  7. # 浮点数 float
  8. # hashable,不可变对象
  9. a1 = 3.14
  10. # 字符串 string
  11. # hashable,不可变对象
  12. a_1 = "哈哈哈"
  13. str_num = '5'
  14. _str_float = """3.14"""
  15. _ = '''hello world'''  # 常常用于接收我们不需要使用的值
  16. # 列表 list
  17. # 元素可修改,元素有顺序
  18. # 列表是unhashable, 可变对象
  19. tmp_list = [1, 3.14, "haha", [7, "qq"]]
  20. # 元组 tuple
  21. # 元素不可修改,元素有顺序
  22. # 元组是hashable,不可变对象
  23. tmp_tuple = (1, 3.14, "haha", [7, "qq"])
  24. # 集合 set
  25. # 元素不重复,即使重复,也会自动去重。元素没有顺序
  26. # 元素必须是hashable,不可变对象
  27. # 集合是unhashable, 可变对象
  28. tmp_set = {1, 1, 3.14, "haha"}
  29. # 字典 dict 键值对形式--key:value,key不能重复
  30. # key必须为hashable,不可变对象
  31. # 字典是unhashable,可变对象
  32. tmp_dict = {1: "xy", "a": 123, (1, "a"): [1, "abc", 3]}
  33. # 布尔值 bool
  34. # 布尔值是hashable,不可变对象
  35. x = True
  36. y = False
  37. # None 不是0,不是空字符串"",不是False,啥也不是
  38. # None是hashable, 不可变对象
  39. t = None
  40. # 常量 变量名用大写字母
  41. # 约定俗成,并不是不可变
  42. PI = 3.1415926
  43. INT_LIST = [1, 2, 3, 4, 5]
复制代码
2、注释&格式化输出
  1. # 注释:对代码的说明性文字,不参与代码运行、运算
  2. # 单行注释
  3. """
  4. 多行注释
  5. 多行注释
  6. 多行注释
  7. """
  8. '''
  9. 多行注释
  10. 多行注释
  11. 多行注释
  12. '''
  13. # 格式化输入
  14. name = "alex"
  15. age = 100
  16. # 占位符(不推荐)
  17. res = "姓名: %s,年龄: %d" % (name, age)  # 字符串就是%s 整数就是%d 浮点数%f
  18. print("占位符输出: %s" % res)
  19. # format(推荐)
  20. res = "姓名:{},年龄:{}".format(name, age)
  21. res = "姓名:{name},年龄:{age}".format(age=age, name=name)
  22. print("format函数输出:{}".format(res))
  23. # f前缀(python3.6以上)
  24. res = f"姓名:{name},年龄:{age}"
  25. print(f"f前缀输出:{res}")
复制代码
3、代码执行顺序

先调用会报错,放在后面即可运行。
  1. """
  2. 从上往下执行
  3. """
  4. a = 3
  5. def plus(x, y):
  6.     return x + y
  7. b = plus(a, 5)
  8. print(b)
复制代码

4、算数运算符&整浮互相转化&精度问题
  1. """
  2. 算术运算符:  +、 -、 *、 /、 //、 **、%
  3. """
  4. # 加
  5. res = 2 + 3
  6. print(f"2 + 3 = {res}")
  7. # 减
  8. res = 2 - 3
  9. print(f"2 - 3 = {res}")
  10. # 乘
  11. res = 2 * 3
  12. print(f"2 * 3 = {res}")
  13. # 除
  14. res = 2 / 3
  15. print(f"2 / 3 = {res}")
  16. # 整除
  17. res = 5 // 2
  18. print(f"5 // 2 = {res}")
  19. # 取余
  20. res = 5 % 2
  21. print(f"5 % 2 = {res}")
  22. # 次幂
  23. res = 2 ** 3
  24. print(f"2 ** 3 = {res}")  # 2的三次方
  25. """
  26. 浮点数和整数的互相转换
  27. 以及常用函数abs
  28. """
  29. # 整数转浮点数
  30. a = 5
  31. print("a = 5, a的类型为:{}".format(type(a)))
  32. a = float(a)
  33. print("float(a) = {}, a的类型为:{}".format(a, type(a)))
  34. # 浮点数转整数,直接取整数位,没有四舍五入
  35. b = 3.55
  36. print("b = 3.55, b的类型为:{}".format(type(b)))
  37. b = int(b)
  38. print("int(b) = {}, b的类型为:{}".format(b, type(b)))
  39. # abs 取绝对值
  40. c = -3.14
  41. print("c = -3.14, c的类型为:{}".format(type(c)))
  42. c = abs(c)
  43. print("abs(c) = {}, c的类型为:{}".format(c, type(c)))
  44. # round,精度低,不推荐
  45. b = 3.55
  46. b = round(b, 1)
  47. print("round(b) = {},b的类型为:{}".format(b, type(b))) # 3.5不是3.6
  48. # 标准库decimal
  49. from decimal import Decimal
  50. b = 3.55
  51. b = str(b)
  52. b = Decimal(b).quantize(Decimal("0.1"),rounding="ROUND_HALF_UP") # 四舍五入 Decimal保留小数的位数
  53. print("round(b) = {},b的类型为:{}".format(b, type(b)))
复制代码
5、赋值运算符
  1. """
  2. 赋值运算符:
  3. =, +=, -=, *=, /=, //=, %=, **=
  4. """
  5. a = 2
  6. a = a + 2 # a = 4
  7. a += 2 # a = 6
  8. a = a - 2 # a = 4
  9. a -= 2 # a = 2
  10. a = a * 2 # a = 4
  11. a *= 2 # a = 8
复制代码
6.1、编码
  1. """
  2. 在计算机中存储的是二进制数   10011011
  3. 在计算机最小存储单位,1位二进制数,即1个Bit(比特)
  4. 1 Byte(字节) = 8 Bits
  5. 1 KB = 1024 Bytes   2**10 = 1024
  6. 1 MB = 1024 KB
  7. 编码问题:
  8. 1、ASCII编码,只有大小写字母、数字、特色符号,
  9.     用1个Byte表示一个字符
  10.     例如:字母A 01000001
  11. 2、GB2312,Euc-kr,Shift_JIS ...
  12.     各国有各国的标准,必然会冲突,即乱码
  13.    
  14. 3、Unicode编码(万国码),所有语言统一使用这一套编码
  15.     通常用2个Byte表示一个字符(生僻字符要4个Byte)
  16.     依然存在问题:
  17.         例如用户只用英文的话,采用这种编码,
  18.         占用的存储空间是ASCII编码的2倍。
  19.     例如:字母A 00000000 01000001
  20.    
  21. 4、UTF-8编码
  22.     把Unicode字符集编码成1-6个Byte
  23.     (1)大小写英文字母、数字、特殊符号
  24.         维持ASCII编码,1个Byte
  25.         例如,字母A的ASCII码和UTF-8码是一样的
  26.             01000001
  27.     (2)中文通常是 3个Byte
  28.     (3)生僻的字符 4-6个Byte
  29. 5、Python3.X 源码.py文件默认使用UTF-8
  30.     Python3.X 默认使用ASCII,所以需要指明
  31.                 # -*- coding:UTF-8 -*-
  32.                
  33. 6、计算机内存中,使用的是Unicode编码
  34.     需要存储或传输时,会吧内存中的Unicode转为UTF-8
  35. """
复制代码
6.2、字符串常用方法
  1. """
  2. 去除首尾指定字符,默认去除空格,返回值均为字符串
  3. strip() # 左右都去除
  4. lstrip() # 只去除左边
  5. rstrip() # 只去除右边
  6. """
  7. tmp = "----举个--栗子---"
  8. tmp_lstrip = tmp.lstrip("-")
  9. tmp_rstrip = tmp.rstrip("-")
  10. tmp_strip = tmp.strip("-")
  11. print("tmp_lstrip:{}".format(tmp_lstrip))
  12. print("tmp_rstrip:{}".format(tmp_rstrip))
  13. print("tmp_strip:{}".format(tmp_strip))
  14. """
  15. startswith() 判断字符串是否以指定的字符串开头
  16. endswith() 判断字符串是否以指定的字符串结尾
  17. 返回值均为布尔值,即True或False
  18. """
  19. tmp = "这次继续举个栗子"
  20. if tmp.startswith("这次"):
  21.     print("tmp是以'这次'开头的")
  22. if tmp.endswith("子"):
  23.     print("tmp是以'子'结尾的")
  24. """
  25. 分割字符串
  26. split(sep, maxsplit):
  27.     1、sep:指定分割符,默认为空格
  28.     2、maxsplit:分割次数,默认为-1即全部分割
  29.     3、返回值为一个列表list
  30. """
  31. tmp = "Python,C,C++,Java,Vue"
  32. res = tmp.split(",")
  33. res_2 = tmp.split(",", 2)
  34. print("res:{}".format(res))
  35. print("res_2:{}".format(res_2))
  36. """
  37. lower() 全转为小写
  38. upper() 全转为大写
  39. """
  40. tmp = "What's up! Man!"
  41. tmp_l = tmp.lower()
  42. tmp_u = tmp.upper()
  43. print("大写:{}".format(tmp_u))
  44. print("小写:{}".format(tmp_l))
  45. """
  46. is系列方法,最常用的三个:
  47. isalpha() 判断字符串是否仅含有字母
  48. isdigit() 判断字符串是否仅含有数字
  49. isalnum() 判断字符串是否仅含字母或数字
  50. 均返回布尔值,即True或False
  51. """
  52. tmp_1 = "23"
  53. tmp_2 = "python"
  54. tmp_3 = "python666"
  55. if tmp_1.isdigit():
  56.     print("tmp_1中仅含数字")
  57. if tmp_2.isalpha():
  58.     print("tmp_2中仅含字母")
  59. if tmp_3.isalnum():
  60.     print("tmp_3中仅含字母或数字")
  61. """
  62. 子字符串替换
  63. replace(old, new, count)
  64. 1、old:被替换的子字符串
  65. 2、new:新的子字符串
  66. 3、count:替换次数,默认为-1全部替换
  67. """
  68. tmp = "Python66666"
  69. # 全部替换
  70. tmp_1 = tmp.replace("6", "9")
  71. # 从左往右,替换指定次数
  72. tmp_2 = tmp.replace("6", "1", 4)
  73. # 找不到指定的子字符串,则不替换
  74. tmp_3 = tmp.replace("java", "go")
  75. print(tmp_1)
  76. print(tmp_2)
  77. print(tmp_3)
  78. """
  79. 获取子字符的索引
  80. 1、index(sub,start,end) 从左往右
  81.     1)sub,子字符
  82.     2)start,查找的起始位置
  83.     3)end,查找的终止位置-1
  84. 2、rindex() 从右往左
  85. 3、只找一个,且若sub存在,则会报错
  86. """
  87. #      012345678
  88. tmp = "Python666"
  89. # 正向查找
  90. index_1 = tmp.index("6", 5, 7) # 实际是在第5个索引和第6个索引查找
  91. # 反向查找
  92. index_2 = tmp.rindex("6")
  93. print("index_1:{}".format(index_1))
  94. print("index_2:{}".format(index_2))
复制代码
6.3、字符串转义
  1. """
  2. 字符串转义:
  3. \n 换行符,将光标位置移到下一行开头。
  4. \r 回车符,将光标位置移到本行开头。
  5. \t 水平制表符,即Tab键
  6. \a 蜂鸣器响铃。现在的电脑一般都没有蜂鸣器了
  7. \b 退格(Backspace),将光标位置移到前一列。
  8. \\ 反斜杠
  9. \' 单引号
  10. " 双引号
  11. """
  12. a = "这是换行,\n 这是\r回车符,这是\t制表符," \
  13.     "这里是退格\b\n" \
  14.     "这是反斜杠\\, 这是单引号\', 这是双引号""
  15. print(a)
复制代码
7、比较运算符&if...else

[code]"""比较运算符: ==, !=, >, >=,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具