尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

表示整数除

表示整数除 关于“is”, 它的作用是对两个变量引用对象是不是同一个展开判断, 而“”呢, 它是用于对引用变量的值是否相等进行判断, 这类似于Java里的equal() 以及 。//表示整数除反斜杠# 错误写法 # print \ # 正确写法 print(\\) # \ # 原生字符串 print(r\\) # \\ # 这是种错误的写法即使使用原生字符串也不能以奇数个反斜杠结尾 # print(rasdf\) # 解决办法将他们分开就行 dir r\this\is\my\dos\dir\\ print(dir)编码. X源码文件, 默认采用UTF - 8编码, 因而能够正常解析中文, 在此顺便提及一句, UTF - 8是一种实现, 仅仅规定了符号的二进制代码, 然而并未规定该二进制代码应当怎样存储。举例来说, 汉字“严”的是十六进制数4E25, 转换为二进制数多达15位100,1110,0010,0101, 它以4个bit作为基本单位, 也能够讲这个符号的表示起码需要2个字节。在其中, 标识符是由字母, 数字, 下划线共同构成的组合结构, 不过其开头绝不能是数字。以下划线开头的标识符是有特殊意义的以单下划线开头, 像 _ foo 这样的, 意味着它是不能直接去访问的类属性, 得经由类所提供的接口才可以进行访问, 切不可采用 from xxx * 这种方式来导入由双下划线开头的 _ _ foo 表示的是类的私有成员而那以双下划线开头同时又以双下划线结尾的 _ _ foo _ _ 代表的则是类里特殊方法专用的标识, 比如说 _ _ init _ _() 它代表的就是类的构造函数。我们会在后面讲到面向对象的时候详细去说。在中我们都知道单引号和双引号都可以用来表示一个字符串比如str1 python str2 python str3 I\m a big fan of Python.不难留意到, 原本的那个字符串里头存在着一个 , 然而又准许运用单引号 去表示那个字符串, 由此可知, 字符串中间的单引号就必须借助转义字符 \才行。为了防止使用转义字符, 能够采用单双引号予以混合来对字符串作出定义。str4_ We all know that A and B are two capital letters. str5 The teacher said: Practice makes perfect is a very famous proverb.三引号有两个用处str1 List of name:\ Hua Li\ Chao Deng str2 List of name: Hua Li Chao Deng ASCii码和字符串# 用户输入字符 c input(请输入一个字符: ) # 用户输入ASCII码并将输入的数字转为整型 a int(input(请输入一个ASCII码: )) print( c 的ASCII 码为, ord(c)) print( a , 对应的字符为, chr(a))打印a到zli[chr(i) for i in range(ord(A),ord(Z)1)]List在进行list创建操作时, 只需将那些通过逗号进行分隔的、属于不同类型的数据项利用方括号括起来就行, 其下标也就是角标或是索引, 从0这个数值起始构建, 进而到最后一个元素的下标位置, 是可以写上数值 -1来表示的, 好比这样。list [12‘3’] list [] 空列表添加和删除list.append() #在末尾增加一个元素 list.insert(n,4) #在指定位置添加元素如果指定的下标不存在那么就是在末尾添加 list1.extend(list2) #合并两个list1,list2 list.pop() #删最后一个元素 list.pop(n) #删除指定的下标元素如果删除一个不存在的元素会报错 list.reverse() #将列表反转 list.remove(xx) #删除list 里面的一个元素有多个相同的元素删除第一个 list.sort() #排序默认升序将两个list进行合并的时候, 需要使用“”, 不然的话, 是不可以用的, 因为一旦使用, 它就会把那个list直接放置在最后一个元素的位置上, 从而出现问题。用法打印元素对应的下标for k,v in enumerate(xx): print(index%s,value%s%(k,v))切片里面也可以使用切片name[n:m] 切片是不包含后面那个元素的值顾头不顾尾 name[n:m:s] #s是步长隔多少个元素取一次步长是正数从左往右取步长是负数从右往左取List实例1要生成list1, 2, 3, 4, 5可以用a list(range(1,6))实例2生成1x1, 2x2, 3x3, ..., 10x10可采用, 将列表 list 赋值为, 通过对范围在 1 到 10 内的每个 x, 计算 x 乘以 x 所构成的可迭代对象, 来生成列表的方式。实例3: 在for循环之后, 能够添加if判断, 如此一来, 我们便能够筛选出仅仅是偶数的平方: list list(x * x for x in range(1,11) if x%2 0), 其中, x是取自range(1,11), 条件是x%2 0。实例4使用两层循环可以生成全排列list 从ABC里选的m, 与从XYZ里选的n进行m加n的运算。print(list)输出结果实例5: for循环事实上能够同时运用两个及以上变量, 举例来说, dict的items()能够同时对key以及value进行迭代:d这个集合里, 有这样的内容, x对应的是A, y对应的是B, z对应的是C。对于字典d中的每一个键值对, 将键k与等于号跟值 v进行拼接, 形成一个新的字符串。yB, xA, zCset 集合set()函数, 它具有创建一个无序且不重复元素集的功能, 能够进行关系测试, 能够删除重复数据, 并且还能够计算交集、差集、并集等。创造: 能够运用大括号{ }亦或是set()函数来创造集合, 留意: 打造一个空集合必定得用set()而非{ }, 缘由在于{ }是用以创造一个空字典的。x set(runnoob) print(x) {r, o, u, n, b} # set也可以使用comprehension,c里面只会有‘abc’ c {x for x in aabbbcccc} a | b # 集合a或b中包含的所有元素 a b # 集合a和b中都包含了的元素“tuple类型的”表达式, 其语法类似一种情况, 它用圆括号来表示实际上tuple不像list那样, 它不存在一些情况, 所以二者不冲突。列表和表达式的主要差别在于, 前者会生成全部的列表, 后者每次只会产出一项, 按照需求生成然后“返回”结果。仅仅在收到请求之时才会产生输出。所以, 表达式相较于列表更能节省内存。#每次都要调用next来生成 my_list [1, 3, 6, 10] a (x**2 for x in my_list) print(next(a)) # Output: 1 print(next(a)) # Output: 9 可以看见它里面是记录了index信息的所以有以下特点函数处于函数的定义里面, 一旦出现了yield表达式咧, 那么实际上定义的是一个啥, 调用这个又是干啥, 返回值是一个啥。def gen_generator(): yield 1 def gen_value(): return 1 if __name__ __main__: ret gen_generator() print ret, type(ret) # ret gen_value() print ret, type(ret) # 1下面是一个例子def gen_example(): print(before any yield) yield first yield print(between yields) yield (second yield) print(no yield anymore) gen gen_example() a gen.__next__() # 第一次 print(第一次返回, a) b gen.__next__() # 第二次 print(第二次返回, b) cgen.__next__() # 第三次 print(第三次返回, c)函数调用的方法, 并没有输出任何的内容, 这表明函数体当中的代码, 还没有开始执行。当调用__ next __()这个方法的时候, 就会执行到yield表达式的地方, 并且返回yield表达式的内文, 可以暂停执行, 也就是挂起, 所以第一次调用next打印第一句, 并且返回“first yield”。暂停执行意味着上下文都会保存起来, 一直到下一次调用next方法的时候恢复。第二次调用next之后, 就会暂停在最后一个yield, 再次调用next()这个方法, 就会抛出异常。由于for语句是能够自动去捕获异常。所以, 实际上从本质来讲是任何比较常用的一种方法是在循环当中去进行使用:def generator_example(): yield 1 yield 2 if __name__ __main__: for e in generator_example(): print(e)函数和普通函数的区别它是那个很棒的、用于表述无限数据流的工具。无限数据流没办法被存储于内存之中, 并且因每次生成一个item, 就能用来表示无限数据流。下面的这段代码能够生成所有的奇数。def all_even(): n 0 while True: yield n n 2使用场景1.当我们需要一个公用的按需生成的数据2.一个部分的 A 事情会被付诸执行, 而另外一部分呢, 要在 B 事件发生之后, 才会接着去执行后续的那些部分, 以此达成异步的状态了。不妨这样去想, 针对一个表达式而言, 它界定出了一个匿名函数, 紧接着下面的代码里, x被当作入口参数, 而x1则构成函数体, 这里对函数定义的书写形式予以了简化, 使得代码变得越发简洁, 然而运用函数的定义方式在感觉上似乎显得更为直接、更加容易被理解。funclambda x:x1 print(func(1)) #2 #以上lambda等同于以下函数 def func(x): return(x1)对于内置函数也很有用#map(function,iteration) 会根据提供的函数对指定序列做映射 li [11, 22, 33] sl [1, 2, 3] new_list map(lambda a, b: a b, li, sl)位运算变量 a 为 60b 为 13二进制格式如下a 60 # 60 0011 1100 b 13 # 13 0000 1101 (a b) 12 #二进制解释 0000 1100 a 2 240 #二进制解释 1111 0000集合() 方法用于移除指定的集合元素。此方法跟方法不一样, 鉴于方法于移除一个不存在的元素之际会出现错误, 然而方法不会这样。( ): 返回由两个集合构成的新集合, 不过此新集合会将两个集合里的重复元素予以移除, 也能够运用^。
返回列表