微信
支付宝
# 一. python基础语法 #### 1. pycharm中常用快捷键  #### 2. Python中常用的有6种值(数据)的类型 \| 类型 \| 描述 \| 说明 \| \| ------------------ \| --------------------------------------------------------- \| --------------------------------------------------- \| \| 整数(int) \| \| 整数(int),如:10、-10 \| \| 浮点数(float) \| \| 浮点数(float),如:13.14、-13.14 \| \| 复数(complex) \| \| 复数(complex),如:4+3j,以j结尾表示复数 \| \| 布尔(bool) \| 表达现实生活中的逻辑,即真和假,True表示真,False表示假。 \| 布尔(bool)中True本质上是一个数字记作1,False记作0 \| \| 字符串(String) \| 描述文本的一种数据类型 \| 字符串(string)由任意数量的字符组成 \| \| 列表(List) \| 有序的可变序列 \| Python中使用最频繁的数据类型,可有序记录一堆数据 \| \| 元组(Tuple) \| 有序的不可变序列 \| 可有序记录一堆不可变的Python数据集合 \| \| 集合(Set) \| 无序不重复集合 \| 可无序记录一堆不重复的Python数据集合 \| \| 字典(Dictionary) \| 无序Key-Value集合 \| 可无序记录一堆Key-Value型的Python数据集合 \| #### 3.python中基于print语句完成各类字面量的输出 \*\*字面量\*\*:在代码中,被写下来的的固定的值,称之为字面量。 \> print(字面量) \> \> 如:print(10),输出整数10;print(13.14),输出浮点数13.14;print("6666"),输出字符串。 #### 4. 注释 \*\*单行注释:\*\*以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。(注意,#号和注释内容一般建议以一个空格隔开) \*\*多行注释:\*\* 以 一对三个双引号 引起来 ("""注释内容""")来解释说明一段代码的作用使用方法。 \`\`\`python # 单行注释 """ 多行注释 """ \`\`\` #### 5. 变量定义和使用 变量名 = 变量值 \`\`\`python # 定义一个变量,用来记录钱包余额 money = 50 # 通过print语句,输出变量记录的内容;通过逗号分隔输出多个量 print("钱包还有:", money) # 买了一个冰淇淋,花费10元 money = money - 20 print("买了冰淇淋花费10元,还剩余:", money, "元") \`\`\` #### 6. python中:变量无类型,(但它存储的)数据有类型 \*\*type()\*\*语句的使用:查看\<字面量\>的类型 \`\`\`python # 要知道,不是变量是字符串,而是它存储了:字符串 name = "GrayPigeon" name_type = type(name) \`\`\` #### 7. 数据类型的转换 \| \*\*语句(函数)\*\* \| \*\*说明\*\* \| \| -------------- \| --------------------- \| \| int(x) \| 将x转换为一个整数 \| \| float(x) \| 将x转换为一个浮点数 \| \| str(x) \| 将对象 x 转换为字符串 \| \*\*注意:\*\* 1. 任何类型,都可以通过str(),转换成字符串 2. 字符串内必须真的是数字,才可以将字符串转换为数字 3. 浮点数转整数会丢失精度,也就是小数部分 #### 8. 标识符 变量的名字,方法的名字,类的名字,等等,我们把它统一的称之为标识符,用来做内容的标识。所以,标识符是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。 \*\*标识符命名规则:\*\* \* 内容限定:标识符命名中,只允许出现:英文、中文、数字、下划线(_) \* 不推荐使用中文 \* \*\*数字不可以开头\*\* \* 大小写敏感 \* 不可使用关键字,如:False,True,None,and,try,while...... \* 注意:关键字也大小写敏感(即只要大小写不一致,就不算占用关键字) \*\*变量命名规范:\*\*见名知意,下划线命名法(firse_name),英文字母全小写 #### 9. 运算符 \*\*算术(数学)运算符\*\* \| 运算符 \| 描述 \| 实例 \| \| ------ \| ------ \| ------------------------------------------------------------ \| \| + \| 加 \| 两个对象相加 a + b 输出结果 30 \| \| - \| 减 \| 得到负数或是一个数减去另一个数 a - b 输出结果 -10 \| \| \* \| 乘 \| 两个数相乘或是返回一个被重复若干次的字符串 a \* b 输出结果 200 \| \| / \| 除 \| b / a 输出结果 2 \| \| // \| 取整除 \| 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 \| \| % \| 取余 \| 返回除法的余数 b % a 输出结果 0 \| \| \*\* \| 指数 \| a\*\*b 为10的20次方, 输出结果 100000000000000000000 \| \*\*赋值运算符\*\* \| \*\*运算符\*\* \| \*\*描述\*\* \| \*\*实例\*\* \| \| ---------- \| ---------- \| ------------------------------------------------------------ \| \| = \| 赋值运算符 \| 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 \* 3,结果num的值为7 \| \*\*复合赋值运算符\*\* \| \*\*运算符\*\* \| \*\*描述\*\* \| \*\*实例\*\* \| \| ---------- \| ---------------- \| ------------------------- \| \| += \| 加法赋值运算符 \| c += a 等效于 c = c + a \| \| -= \| 减法赋值运算符 \| c -= a 等效于 c = c - a \| \| \*= \| 乘法赋值运算符 \| c \*= a 等效于 c = c \* a \| \| /= \| 除法赋值运算符 \| c /= a 等效于 c = c / a \| \| %= \| 取模赋值运算符 \| c %= a 等效于 c = c % a \| \| \*\*= \| 幂赋值运算符 \| c \*\*= a 等效于 c = c \*\* a \| \| //= \| 取整除赋值运算符 \| c //= a 等效于 c = c // a \| \*\*比较运算符\*\* \| \*\*运算符\*\* \| \*\*描述\*\* \| \*\*示例\*\* \| \| ---------- \| ----------------------------------------------------------- \| ----------------------------- \| \| == \| 判断内容是否相等,满足为True,不满足为False \| 如a=3,b=3,则(a == b) 为 True \| \| != \| 判断内容是否不相等,满足为True,不满足为False \| 如a=1,b=3,则(a != b) 为 True \| \| \> \| 判断运算符左侧内容是否大于右侧满足为True,不满足为False \| 如a=7,b=3,则(a \> b) 为 True \| \| \< \| 判断运算符左侧内容是否小于右侧满足为True,不满足为False \| 如a=3,b=7,则(a \< b) 为 True \| \| \>= \| 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False \| 如a=3,b=3,则(a \>= b) 为 True \| \| \<= \| 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False \| 如a=3,b=3,则(a \<= b) 为 True \| #### 10. 字符串定义方式 字符串有3种不同的定义方式:双引号定义,单引号定义,三引号定义  三引号定义法中,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串;不使用变量接收它,就可以作为多行注释使用。 \*\*字符串的引号嵌套\*\* 单引号定义法,可以内含双引号 双引号定义法,可以内含单引号 可以使用转意字符(\\)来将引号解除效用,变成普通字符串 \`\`\`python name = "\\"带双引号的字符串"\\" \`\`\` #### 11. 字符串拼接 如果我们有两个字符串(文本)字面量或字符串变量,可以将其拼接成一个字符串,通过+号即可完成 \`\`\`python name = "dsd" print("我的名字是:" + name) \`\`\` \*\*注意:\*\*无法和非字符串类型进行拼接。 #### 12. 字符串格式化 通过将字符串格式化的方式实现字符串和其他类型变量的快速拼接 \| 格式符号 \| 转化 \| \| -------- \| -------------------------------- \| \| % \| 表示占位 \| \| %s \| 将内容转换成字符串,放入占位位置 \| \| %d \| 将内容转换成整数,放入占位位置 \| \| %f \| 将内容转换成浮点型,放入占位位置 \| \*\*数字精度控制\*\* 以使用辅助符号\*\*"m.n"\*\*来控制数据的宽度和精度 \* \*\*m\*\*,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效 \* \*\*.n\*\*,控制小数点精度,要求是数字,会进行小数的四舍五入 \> 例如: \> \> %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:\\\[空格\]\\\[空格\]\[空格\]11,用三个空格补足宽度。 \> \> %5.2f:表示将宽度控制为5,将小数点精度设置为2(\*\*小数点和小数部分也算入宽度计算\*\*)。 \> \> %.2f:表示不限制宽度,只设置小数点精度为2。 \`\`\`python # 通过占位的形式,完成拼接 name = "黑马程序员" message = "学IT来:%s" % name print(message) # 通过占位的形式,完成数字和字符串的拼接(将数字转成字符串再拼接) class_num = 57 avg_salary = 16781 message = "Python大数据学科,北京%s期,毕业平均工资:%s" % (class_num, avg_salary) print(message) name = "某宝" setup_year = 2006 stock_price = 19.99 message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price) print(message) num1 = 11 num2 = 11.345 print("数字11宽度限制5,结果是:%5d" % num1) print("数字11宽度限制1,结果是:%1d" % num1) print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" % num2) print("数字11.345不限制,小数精度2,结果是:%.2f" % num2) \`\`\` \*\*注意:\*\* \* 多个变量占位变量要用括号括起来,并按照占位的顺序填入。 \* m和.n均可省略。 \* 如果m比数字本身宽度还小,则m不会生效。 \* .n会对小数部分做精度限制,同时会对小数部分做四舍五入。 \*\*快速格式化写法\*\* f"内容{变量}" 这种方式:不理会类型,不做精度控制,适合对精度没有要求的时候快速使用。 \`\`\`python time = 2.500 name = cxk like = "唱跳篮球" print(f"我是练习时长{time}的练习生{name},喜欢{like}") \`\`\` \*\*表达式格式化\*\* 表达式就是一个具有明确结果的代码语句,如 1 + 1、type("字符串")、3 \* 5等。表达式也可直接进行格式化 格式化方法: \* f"{表达式}" \* "%s\\%d\\%f" % (表达式、表达式、表达式) \`\`\`python print("1 \* 1的结果是:%d" % (1\*1)) \`\`\` #### 12. 数据输入 数据输出:print() 数据输入:input(),获取键盘输入的数据 \*\*注意:\*\* \* 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。 \* 无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型(若需要其他类型,需自行进行类型转换) \`\`\`python time = 2.500 name = cxk like = input("请输入你的爱好:") print(f"我是练习时长{time}的练习生{name},喜欢{like}") \`\`\` #### 13. 判断语句 \*\*if语句\*\* \> \*\*if 要判断的条件:\*\* \> \> 满足条件时执行的语句1 \> \> 满足条件时执行的语句2 \> \> 语句3(在if的代码块外,无论条件成立与否都会执行) 判断语句的结果,必须是布尔类型True或False,True会执行if内的代码语句,False则不会执行 \*\*if语句注意事项\*\* \* 判断条件的结果一定要是布尔类型 \* 不要忘记判断条件后的: 冒号 \* 归属于if语句的代码块,需在前方填充4个空格缩进 \*\*if lese语句\*\* \> \*\*if 条件1:\*\* \> \> 满足条件1时执行的语句1 \> \> 满足条件1时执行的语句2 \> \> ...... \> \> \*\*else:条件2\*\* \> \> 满足条件2时执行的语句1 \> \> 满足条件2时执行的语句2 \> \> ...... \> \> \*\*else:\*\* \> \> 不满足条件1和2时执行的语句1 \> \> 不满足条件1和2时执行的语句2 \> \> ...... \*\*if else语句注意事项\*\* \* 最后一个else,不需要判断条件 \* 和if的代码块一样,else的代码块同样需要4个空格作为缩进 #### 14. 判断语句的嵌套  \* 嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断 \* 嵌套的关键点,在于:\*\*空格缩进\*\* \* 通过空格缩进,来决定语句之间的:层次关系 #### 15. while循环的基础语法  \*\*while语句注意事项:\*\* \* 条件需提供布尔类型结果,True继续,False停止 \* 空格缩进不能忘 \* 请规划好循环终止条件,否则将无限循环 \`\`\`python """ 演示使用while的嵌套循环 打印输出九九乘法表 """ # 定义外层循环的控制变量 i = 1 while i \<= 9: # 定义内层循环的控制变量 j = 1 while j \<= i: # 内层循环的print语句,不要换行,通过\\t制表符进行对齐 print(f"{j} \* {i} = {j \* i}\\t", end='') j += 1 i += 1 print() # print空内容,就是输出一个换行 \`\`\` #### 16.for循环的基础语法 while循环语句和for循环语句两者能完成的功能基本差不多,但仍有一些区别: \* while循环的循环条件是自定义的,自行控制循环条件 \* for循环是一种"轮询"机制,是对一批内容进行"逐个处理" \> 从待处理数据集中:逐个取出数据赋值给临时变量 (类似java的增强for循环) \> \> \*\*for 临时变量 in 待处理数据集\*\* \> \> 循环满足条件时执行的代码 \*\*for循环的注意点\*\* \* 无法定义循环条件,只能被动取出数据处理 \* 要注意,循环内的语句,需要有空格缩进 \* 临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部(如果在for循环外部访问临时变量:\*\*实际上是可以访问到的\*\*,但在编程规范上,是不允许这么做的) \`\`\`python """ 演示for循环的练习题:数一数有几个a """ # 统计如下字符串中,有多少个字母a name = "itheima is a brand of itcast" # 定义一个变量,用来统计有多少个a count = 0 # for 循环统计 # for 临时变量 in 被统计的数据: for x in name: if x == "a": count += 1 print(f"被统计的字符串中有{count}个a") \`\`\` 语法中的:待处理数据集,严格来说,称之为:\*\*可迭代类型\*\*。 可迭代类型指,其内容\*\*可以一个个依次取出\*\*的一种类型,包括: \> \*\*字符串、列表、等、元组\*\* for循环语句,本质上是遍历:可迭代对象。 尽管除字符串外,其它可迭代类型目前没学习到,但不妨碍我们通过学习range语句,获得一个简单的数字序列(可迭代类型的一种): \> \*\*语法1:range(num)\*\* \> \> 获取一个从0开始,到num结束的数字序列(不含num本身)如range(5)取得的数据是:\[0, 1, 2, 3, 4\] \> \> \*\*语法2:range(num1, num2)\*\* \> \> 获得一个从num1开始,到num2结束的数字序列(不含num2本身)如,range(5, 10)取得的数据是:\[5, 6, 7, 8, 9\] \> \> \*\*语法3:range(num1, num2, num3)\*\* \> \> 获得一个从num1开始,到num2结束的数字序列(不含num2本身)数字之间的步长,以step为准(step默认为1)如,range(5, 10, 2)取得的数据是:\[5, 7, 9\] \`\`\`python """ 演示Python中的range()语句的基本使用 一般搭配for循环使用,通过range()锁定for循环执行的次数 """ # range语法1 range(num) for x in range(10): print(x) # range 语法2 range(num1, num2) for x in range(5, 10): # 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间间隔是1 print(x) # range 语法3 range(num1, num2, step) for x in range(5, 10, 2): # 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是2 print(x) \`\`\` \`\`\`python """ 演示for循环打印九九乘法表 """ # 通过外层循环控制行数 for i in range(1, 10): # 通过内层循环控制每一行的数据 for j in range(1, i + 1): # 在内层循环中输出每一行的内容 print(f"{j} \* {i} = {j \* i}\\t", end='') # 外层循环可以通过print输出一个回车符 print() \`\`\` #### 17. continue和break的使用 continue关键字的作用:中断本次循环,直接进入下一次循环。 break关键字的作用:直接结束所在的循环 \*\*注意事项\*\* \* continue和break,在for和while循环中作用一致 \* 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用 \`\`\`python """ 演示循环语句的中断控制:break和continue """ import random num = random.randint(1, 10) 演示循环中断语句 continue for i in range(1, 6): print("语句1") continue print("语句2") # 演示break的嵌套应用 for i in range(1, 6): print("语句1") for j in range(1, 6): print("语句2") break print("语句3") print("语句4") \`\`\` #### 18. 随机数的使用 \`\`\`python import ramdom num = random.randint(1,100) \`\`\` #### 19. print语句不换行的写法 \`\`\`python # print()语句默认输出后换行 print("Hello") # 在双引号后加入end=''即可不换行 print("Hello",end='') \`\`\` #### 20. 制表符\\t 在字符串中,有一个特殊符号:\\t,效果等同于在键盘上按下:tab键。它可以让我们的多行字符串进行对齐。 \`\`\`python print("Hello\\tWorld") print("Hi\\tWorld") \`\`\`
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Veylor
最近发布
常用SQL