Python系列教程
第1章 Python 语言概述
Python编程规范+最佳实践
python文件:.py,.ipynb, pyi, pyc, pyd, pyo都是什么文件?
第1章必背的内容
第2章 Python基础
字符串切片
Python数据类型大战:可变与不可变,谁主沉浮?
Python「布尔类型」:不只是True和False!
Python「枚举类型」:你真的了解枚举类型吗?
Python字符串格式化:哪种字符串格式化方法最快?
Python字符串编码:为什么你的网页显示乱码?
Python「内置变量」:不只是变量,更是编程的魔法!
Python变量的作用域,你真的了解吗?
Python中如何使用F-Strings格式化浮点数
第2章必备的内容
第3章 流程控制和异常处理
加速Python for循环
for循环
Python三元表达式:让代码简洁与效率提升成为可能
Python「While循环」:何时打破循环?
Python「异常处理」:程序出错了?不慌
这样可以减少IF语句的使用,从此告别if-else噩梦
Python循环加速的秘方,可提速上千倍!
如何在Python中优雅地使用断言?这篇文章给你答案!
Python异常处理:12个异常处理技巧,你掌握了几个?
Python中的and和or你真的会用吗,代码逻辑竟然可以如此简单!
Python的else子句7个妙用,原来还能这样用,整挺好!
快来看!Python写代码,没有pass怎么行?
第三章 必背的内容
第4章 高级数据结构
Python字典嵌套:编程界的俄罗斯套娃
Python「类型注解」:如何让你的Python代码够清晰?
列表越界了?来学学Python列表的花式操作!
Python字典的这些黑科技,你用过几个?
Python元组:为何你的代码需要这个'不变'的伙伴?
试试Python具名元组NamedTuple吧!用过的都说好
Python中的5种队列数据结构,你知道几个?
itertools模块让你的代码原地起飞!
第5章 正则表达式
正则表达式
本文档使用 MrDoc 发布
-
+
首页
第2章必备的内容
# 变量和常量 ```python # coding=utf-8 # @作者: 张泽楠 # @时间: 2024/6/17 10:23 # 变量:可以变化的量 # 常量:不能变化的量叫常量(单词全部大写,不能更改) name = "张三" # name是_字符串_变量(等号左边的是变量) name = "李四" age = 20 # age是_整型_变量 a, b = 'Lisi', 30 # a和b是变量 height = 180.0 # height是_浮点型_变量 # 常量 # 以下变量可以看做常量的是:24 # A.Name B.NAME C.Hello D.HELLO E.helloWORLD PI = 3.1415926 RATE = 0.035 MIN_AGE = 18 ``` # 变量的命名规范 ```python # 1.变量不能以数字、特殊符号(&%$#@!)开头,可以用字母或下划线开头 # 以下变量命名不规范的是:AC # A.123 B.name C.1name D._name E._1name # 2.变量名尽量“见名知意”,一般以英语单词进行命名,不要用拼音或纯字母 # 以下变量名较为合理的是:1245 # A.name B.myname C.na D.my_name E._name F.x G.y # 翻译以下单词的作用 # name姓名 # age年龄 # score分数 # title标题 # cover封面 # movie电影 # 3.变量名需要注意大小写问题(因为Python是个敏感语言) # 下述代码中的name和Name不是一个人 Name = 20 name = 30 # 4.变量名不要和关键字/标识符重名 # 以下命名是关键字或标识符的为:ABCDEG # A.int B.str C.float D.bool E.list F.dictionary G.dict int = 10 str = "张三" # 5.变量名最好不要以_开头,因为Python中变量以下划线开头表示“私有变量” _name = '张三' __name = '张三' __name__ = '张三' ``` # 变量命名法 ```python # coding=utf-8 # @作者: 张泽楠 # @时间: 2024/6/17 10:57 # 变量的命名法一般有三种,分别是:大驼峰、小驼峰、下划线法 # 大驼峰:每个单词首字母大写,一般应用于类名,例如 class MyImagePipeline # 学生名称为张三 StudentName = '张三' # 小驼峰:第一个单词首字母小写,其它单词首字母大写,我个人几乎不用 studentName = '张三' # 下划线法:每个单词都小写,且以下划线连接,一般应用于创建变量 student_name = '张三' # 请分别说出下列变量使用了哪些命名法?? # A.name:小驼峰 # B.SchoolName:大驼峰 # C.school_name:下划线 # D.schoolname:小驼峰 ``` # 变量赋值 ```python # coding=utf-8 # @作者: 张泽楠 # @时间: 2024/6/17 10:57 # 如何声明(创建)一个变量 # 变量名 = 数值/表达式/返回值/判断条件... # 案例:使用小驼峰命名法,创建一个变量表示为“班级名称”,内容为“三年级二班” className = '三年级二班' # 案例:使用下划线法,创建一个变量名为“身份证号”,内容为“10086” identification_number = '10086' id_numder = '10086' id_card = '10086' # 案例:创建两个变量,分别表示10和20,变量名自由定义 number_1 = 10 number_2 = 20 number_1, number_2 = 10, 20 # 一句话交换两个变量的值 number_3 = number_1 number_1 = number_2 number_2 = number_3 number_1, number_2 = number_2, number_1 # _在这里表示:我又想给变量赋值,但是我又不想用,我也不想起名字 _, num_2 = 10, 100 num2 = 10, 100 num1 = 10 num2 = 20 # = 赋值号 # == 判断相等(True、False) num1 == num2 ``` # 输入和输出 ```python # coding=utf-8 # @作者: 张泽楠 # @时间: 2024/6/17 10:58 # 输入input # 输出output # I/O设备=输入设备和输出设备 # 键盘属于输入设备 # 屏幕属于输出设备 # 鼠标属于输入设备 # 案例:输入一个东西,保存到变量,变量名为“输入内容” # 右键运行,光标会闪烁,在光标处输入一些数据,回车即可 # input_content = input() # input_content = input('请输入你的姓名:') # 案例:请告诉用户输入自己的姓名和年龄,分别打印,打印格式为:我叫xxx我今年xxx岁 # data1 = input("请输入你的姓名:") # data2 = input("请输入你的年龄:") # print(f'我叫{data1},我今年{data2}岁') # print('我叫'+data1, '今年'+data2) # 输出print print('hello world') # 案例:定义两个变量,内容分别是10和20,请打印结果,格式为:xx+xx=xx # num1 = 10 # num2 = 20 # print(f"{num1} + {num2} = {num1+num2}") # 案例:定义两个变量,分别从终端接收2个数字,由用户自由输入,最后打印计算结果,格式为xx+xx=xx # 结论:input()返回的结果一定是个字符串类型 # num1 = input('输入数字1:') # num2 = input('输入数字2:') # num1 = int(num1) # num2 = int(num2) # print(f"{num1} + {num2} = {num1+num2}") # 参数1:填写要打印的内容,多个的话中间用逗号隔开 # 参数2:sep=连接符,默认是空格,类型为字符串 # 参数3:end=结束,默认是换行,类型为字符串 print('hello', 'abc', 123, '张三') print('hello', 'abc', 123, '张三', sep='---') print('hello', 'abc', 123, '张三') print('hello', 'abc', 123, '张三', end='---') # 案例:让用户从终端输入两个东西,一个是字符串,一个是整数,将两个变量相乘后输出,格式为xx*xx=xx num1 = input("请输入一个字符串:") num2 = input("请输入一个数字:") num2 = int(num2) print(f"{num1} * {num2} = {num1*num2}") ``` # 变量类型 ```python # coding=utf-8 # @作者: 张泽楠 # @时间: 2024/6/17 10:58 # 变量的类型有哪些(填空或简答)?? # 1. 数字类型(Number类型) # 1.1 整型(int),纯数字,例如a = 10, b = 100 # 1.2 浮点型(float),小数,例如a = 3.14, b = 5.78, c = 5.0 # 1.3 复数类型(complex),不要求掌握 # 1.4 布尔型(bool), True或False # 2. 字符串类型(String类型,简称str),由单引号、双引号、三个单引号、三个双引号包裹的都是字符串(推荐使用单引号) # 3. 列表类型(List类型),一般由[]包裹 # 4. 字典类型(Dict类型),一般由{}包裹 # 5. 元组类型(Tuple类型),一般由()包裹 # 6. 集合类型(Set类型),一般由{}包裹 # 结论:两个数相除一定是个浮点型?? # 结论:小数点最多保留16位,超过的部分直接四舍五入 # 案例:现有两个变量分别是a和b,里面的值分别是10和20,问:a/b结果是多少?以及什么类型?0.5,浮点型 # 案例:现有两个变量分别是a和b,里面的值分别是20和10,问:a/b结果是多少?以及什么类型?2.0,浮点型 # 案例:现有两个变量分别是a和b,里面的值分别是0和10,问:a/b结果是多少?以及什么类型?0.0,浮点型 # 案例:现有两个变量分别是a和b,里面的值分别是1和3,问:a/b结果是多少?以及什么类型?0.3333333333333333,浮点型 # 案例:现有两个变量分别是a和b,分别为0.1和0.2,问a+b和0.3是什么关系?(大于 等于 小于) 计算机处理小数时可能会稍微大一些或小一些(浮点数不能直接比大小,因为存在精度问题) # 案例:现有两个变量分别是a和b,分别为True和1,问a和b是什么关系? a==b结果为真(数字相等),a is b结果为假(数字相等但是类型不等) # 整型int # age是一个整型变量 age = 19 # 练习:创建一个整型变量,表示存款,内容为100万 money = 1000000 # 元 money = 100 # 万元 # 浮点型float(小数) rate = 7.65 # 练习:定义一个变量表示房贷利率,默认值为3.75% bank_rate = 3.75 # 浮点型和整型怎么区分?数字中有且只有一个小数点 # 3.3.75 .75 # 下列数值为浮点型的是:134 # A. 8.0 B. 8 C. .8 D. 0.8 # 建议:定义变量时指定类型 age = 18 age: int = 18 # 练习:定义变量表示银行利率,类型浮点型,内容3.75 # 强调:变量名后面的:int,表示作者认为该变量应该是整型。但是实际什么类型,取决于=右侧的数值 bank_rate: float = 3.75 bank_rate: int = 3.75 print(bank_rate) # 4.布尔类型bool is_open: bool = True # is_open是否打开 True真 False假 is_not_open: bool = True # is_not_open是否没打开 True真 False假 # 练习:创建一个变量,表示明天是否放假,设置为不放假 # 作者赋予了is_ok为是否放假的意思,至于别人能不能看懂,靠注释。 # 企业开发中,注释加的越详细,你越容易被替代 is_ok: bool = False # bool和int的区别 # 1. True的值等于1 True == 1 print(True == 1) # 2. True不是1 True is 1 print(True is 1) # 字符串类型str ## 创建空字符串(去超时买鸡腿,提前准备一个空塑料袋) data1: str = '' ## 创建字符串,内容为hello world,变量名自定义 data2: str = 'hello world' ## 创建字符串,内容为256,变量名自定义 # 疑问:此处的256不应该是个整型吗?为什么用字符串来表示? data3: str = '256' # 从终端中提示用户输入一个年龄,对其+1后进行打印 # age = input("请输入一个年龄:") # age = int(age) # print(age+1) # 类型转换 # 浮点型转整型(直接抛去小数部分,只保留整数部分,没有四舍五入) ## 案例:将a的数值保留整数,赋值给变量b(b=3) a = 3.62345 b = int(a) print(b) # 整型转浮点型 ## 案例:将变量a的314转为浮点型的3.14 a = 314 b = a*0.01 print(b) ## 案例:将变量a的3.1415926保留两位(不考虑四舍五入) a = 3.1415926 b = int(a*100)/100 print(b) # 字符串转整型 age = '18' age = int(age) # 整型转字符串 a = 18 a = str(a) # 字符串常用的方法有哪些? # 1.切割split 死比欧特 cate = "惊悚|动作|文艺" cates = cate.split('|') print(cates) # 案例:提取网址中的图片名称 src = "http://www.baidu.com/a/b/1.jpg" src_name = src.split('/')[-1] print(src_name) # 案例:提取html中的图片地址 html = "<img src='http://www.baidu.com/1.jpg'>" img_src = html.split("'")[-2] print(img_src) # 2.切片[a:b:c] a从哪切 b切到哪 c隔多长 a = "我喜欢张三" who = a[3:] print(who) # 案例:变量a="src='www.baidu.com'",提取src后的网址 a = "src='www.baidu.com'" src = a[5:-1] print(src) # 练习:以下语法中哪些属于切片234 # A. data[1] B. data[1:2] C.data[1:2:3] D. data[::] # 练习:data[1:2:3]中的1是什么意思,2是什么意思,3是什么意思? # 3.替换replace瑞坡累死 # 案例:将字符串的徒弟替换为徒孙 # 输出为:张三丰的徒孙是张无忌 data1 = "张三丰的徒弟是张无忌" data2 = data1.replace('徒弟', '徒孙') print(data2) # 案例:将字符串中的毛泽东替换为毛*东 # 常识:关键字屏蔽使用正则表达式实现 a = "毛泽东主席访问日本被群众殴打" a = a.replace('毛泽东', '毛*东') print(a) # 4. 以..开头 startswith 死大呲喂zi # 5. 以..结尾 endswith 摁呲喂zi a = "http://www.baidu.com" result = a.endswith('http') print(result) # 6.strip 死坠扑,用于去除字符串两端的特殊字符,例如空格、换行等 a = " hello world " a = a.strip() print(a) # 案例:去除字符串两端的_-|()等特殊字符 a = " _ | - (Hello (ok) World)" a = a.strip('() _|-') print(a) # 7. index因带可死,首页、索引(编号/数字/0.1.2...) # 说明:index方法只会提供第一个满足要求的索引 a = "hello world" b = a.index('o') print(b) # 7. index因带可死,首页、索引(编号/数字/0.1.2...) # 说明:index方法只会提供第一个满足要求的索引 a = "hello world" b = a.index('o') print(b) # 字符串格式化输出 ## 1.最传统的写法(利用+拼接)(基本被淘汰,不再使用) ## 优点:只需要通过+拼接即可 ## 缺点:格式越复杂,拼接语句越长,越容易出错,而且整型、浮点型、布尔型等需要手动转str类型 ### 案例:现有三个变量,分别为name=张三,age=20,city=郑州,要求输出格式为:20岁的张三在郑州 name = '张三' age = 20 city = '郑州' print(str(age) + "岁的" + name + '在' + city) ### 案例:现有三个变量,分别为name=李四,sex=男,height=1.78 ### 要求输出格式为:1.78的李四是男性 name: str = '李四' sex: str = '男' height: float = 1.78 print(str(height) + "的" + name + "是" + sex + "性") # 2.改进写法 使用占位符 进行格式化输出 # %d 整型 ## %5d 保留五位整数,如果位数不足,前面补空格 ## %.5d 保留五位整数,如果位数不足,前面补0 # %f 浮点型(默认保留6位小数,不足6位的后面补0) ## %.3f 保留小数点后3位 # %s 字符串类型 ### 案例:现有三个变量,分别为name=张三,age=20,city=郑州,要求输出格式为:20岁的张三在郑州 name: str = '张三' age: int = 20 city: str = '郑州' print('%d岁的%s在%s' % (age, name, city) ) ### 案例:现有三个变量,分别为name=李四,sex=男,height=1.78 ### 要求输出格式为:1.78的李四是男性 name: str = '李四' sex: str = '男' height: float = 1.78 print('%.3f的%s是%s性' % (height, name, sex)) ### 案例:从终端输入一个数字,用变量num表示,打印该变量的值 # (如果为0-9,则打印00,01,02,。。09,如果大于9,则直接打印) # 例如:输入一个6,则打印06 # 输入一个16,则打印16 num = input('请输入一个数字:') num = int(num) print('用户输入的数字为:%.5d' % (num)) print('用户输入的数字为:%s' % (num)) # 3.f字符串(必须会的) ### 案例:现有三个变量,分别为name=李四,sex=男,height=1.78 ### 要求输出格式为:1.78的李四是男性 name: str = '李四' sex: str = '男' height: float = 1.78002 print(f"{height}的{name}是{sex}性") ### 案例:现有三个变量,分别为name=张三,age=20,city=郑州,要求输出格式为:20岁的张三在郑州 name: str = '张三' age: int = 20 city: str = '郑州' print(f'{age}岁的{name}在{city}') # 运算符:+-*/ a=10 b=2 ## 加+ a+b ## 减- a-b ## 乘* shift+8 a*b ## 除/ a/b ## % 取余 5%3=1余2 ## // 整除 ### 案例:现有两个变量,分别为a=5,b=3,请计算a对b取余数,结果是多少? #### 案例:提供100万个数字,请计算哪些是奇数,哪些是偶数?? #### 5%2==1 4%2==0 a = 5 b = 3 print(f"{a}%{b}={a%b}") a = 5 b = 3 print(f'{a}/{b}={a/b}') print(f'{a}//{b}={a//b}') # 比较运算符(通常会配合if条件使用) # 大于> 等于== 小于< 大于等于>= 小于等于<= 不等于 != # 逻辑运算符(通常会配合if条件使用) # 与and 或or 非not ## 填空:逻辑运算符包括与、__、非 and、__、not # 赋值运算 ## += -= *= /= //= %= a = 1 a += 1 # 等价于 a = a + 1 print(a) ```
张泽楠
2024年6月18日 16:38
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码