# 链式赋值 # x = y = 123 # 相当于:x = 123; y = 123 # 系列解包赋值 # 系列数据赋值对应相同个数的数量(个数必须保持一致) # >>>a,b,c=4,5,6 相当于:a=4;b=5;c=6 # 操作 # a,b=1,2 # a,b=b,a # print(a,b) # 常量 # Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则, # 以及在程序的逻辑上不对常量的值作出修改。 # >>>MAX_SPEED = 120 # >>>print(MAX_SPEED) # 120 # >>>MAX_SPEED = 140 #实际是可以修改的,只是逻辑上不做修改。 # >>>print(MAX_SPEED) # 140 # 最基本内置数据类型介绍 # 每个对象都有对象 # 1.整型 整数123,10 # 2.浮点型 小数3.14 # 3.布尔型 由字符组成的序列。"abc","sxt" # 数字 # // 整数除法 7//2=3 # % 模(取余)7%4=3 # a=7//2 # 浮点数:小数 float # 类型转换和四舍五入 # 1.类似于int(),我们也可以使用float()将其他类型转化成浮点数 # 2.整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.8 # round(value)可以返回四舍五入的值 # 注:但不会改变原有的值,而是产生新的值 # # 增强型赋值运算 # 运算符+、-、*、/、//、**、和%和赋值符结合可以构成“增强型赋值运算符” # a=a+1 等价于: a+=1; 注:“+=”中间不能有空格 # **= a**=2 等价于: a=a**2 # 时间的表示 # 计算机中时间的表示是从“1970年1月1日00:00:00”开始计算,以毫秒为单位进行计时。1970年记为“unix时间点”。 # python中可以通过time.time获得当前时刻 # >>> import time # >>> time.time() # 1638712239.6225843 # >>> b = int(time.time) # 12/6 # 定义多点坐标_绘出折线_并计算起始点和终点距离 '''import math import turtle # 定义多个点的坐标 x1,y1 = 100,100 x2,y2 = 100,-100 x3,y3 = -100,-100 x4,y4 = -100,100 # 绘制折线 turtle.penup() turtle.goto(x1,y1) turtle.pendown() turtle.goto(x2,y2) turtle.goto(x3,y3) turtle.goto(x4,y4) # 计算起始点和终点的距离 distance = math.sqrt((x1-x4)**2 + (y1-y4)**2) turtle.write(distance) turtle.done() ''' 布尔值:False:0 ;True1; 比较运算符:
# 布尔值:False:0 ;True1; # 比较运算符: # 引号创建字符串 # 我们可以通过单引号或双引号创建字符串。例如:a ='abc'; b="sxt" # 例如: # a = "sxt" # print(a) # a = "I' m a teacher" # print(a) # 连续三个单引号或三个双引号,可以帮助我们创建多行字符串。例如: resume = '''name="高崎" company="尚学堂"''' 空字符串和len()函数 c = '' len(c) 0 d = 'abc尚学堂' len(d) 6
转义字符 “\+特殊字符”
# 字符串拼接 1. 'aa'+'bb'==>'aabb' (1) 如果+两边都是字符串,则拼接 (2) 如果+两边都是数字,则加法运算 (3) 如果+两边类型不同,则抛出异常 2.可以将多个字面字符串直接放到一起实现拼接,例如'aa''bb'==>'aabb' end = '任意字符串' 从控制台读取字符串 字符串切片slice操作 a = "abcdefghijklmn" 切片操作slice操作可以让我们快速的提取子字符串。标准格式为: [起始偏移量start:终止偏移量end:步长step] 典型操作(三个量为正数的情况)如下: 操作和说明 示例 结果 [:]提取整个字符串 "abcdef"[:] "abcdef" [start:]从start索引开始到结尾 "abcdef"[2:] "cdef" [:end]从头开始知道end-1 "abcdef"[:2] "ab" [start:end]从start到end-1 "abcdef"[2:4] "cd" [start:end:step]从start提取到end-1,步长是step "abcdef"[1:5:2] "bd" 其他操作(三个量为负数)的情况: 示例 说明 结果 "abcdefghijklmnopqrstuvwxyz"[-3:] 倒数三个 "xyz" "abcdefghijklmnopqrstuvwxyz"[-8:-3] 倒数第八个到倒数第三个(包头不包尾) "stuvw" "abcdefghijklmnopqrstuvwxyz"[::-1] 步长为负,从右到左反向提取 "zyxwutsrqon...ba" # >>> a ="abc_33" # >>> b ="abc_33" # >>> a is b # True # >>> id(a) # 1303436387632 # >>> id(b) # 1303436387632 # >>> c==d # 字符串比较和同一性 # 常用查找方法 ''' a ='''我是高淇,今年18岁了,我再北京尚学堂科技上班。 我的儿子叫高洛希,他6岁了。我是一个编程教育的普及者,希望影响6000万学习编程的中国人。 我儿子现在也开始学编程,希望他18岁的时候可以超过我''' 方法和使用示例 说明 结果 len(a) 字符串长度 96 a.startswith('我是高淇') 以指定字符串开头 True a.endswith('过我') 以指定字符串结尾 True a.find('高') 第一次出现在指定字符串位置 2 a.rfind('高') 最后一次出现指定字符串位置 29 a.count('编程') 计数 >>> a.isalnum() 所有字符全是字母或数字 >>> a ='''我是高淇,今年18岁了,我再北京尚学堂科技上班。我的儿子叫高洛希,他6岁了。我是一个编程教育的普及者,希望影响6000万学习编程的中国人。我儿子现在也开始学编程,希望他18岁的时候可以超过我''' >>> len(a) 95 >>> a.startswith('我是') True >>> aendswith('过我') >>> a.endswith('过我') True >>> a.find('编程') 42 >>> a.rfind('编程') 78 >>> a.count('编程') 3 >>> a.isalnum() 去除首尾信息 通过strip()去除字符串首尾指定信息。通过lstrip()去除字符串左边指定信息; rstrip()去除字符串右边指定信息 '*s*x*t' >>> '*s*t*'.strip('*') 's*t' >>> '*s*x*t*'.lstrip('*') 's*x*t*' >>> '*s*x*t*'.rstrip('*') '*s*x*t' >>> ' sxt'.strip() 'sxt' # 大小写转换 a = 'You are a PIG' 示例 说明 结果 a.capitalize() 产生新的字符串,首字母大写 You are a pig a.title() 产生新的字符串,每个单词都大写 'You Are A Pig' a.upper() 产生新的字符串,所有字符全转换成大写'YOU ARE A PIG' a.swapcase() 产生新的字符串,所有字母大小写转换 'yOU ARE A pig' # 格式排版 center()、 >>> a = 'SXT' >>> a.center(10,'*') '***SXT****' >>> a.center(20) ' SXT ' >>> a.ljust(10,'*') 'SXT*******' # 其他方法 1.isalnum() 是否为字母或数字 2.isalpha() 检测字符串是否只由字母组成 3.isdigit() 检测字符串是否只由数字组成 数字格式化 '''