“`第一天
思考题:
-
Python是怎么诞生的ython之父是谁br> #Python的创始人为吉多范罗苏姆(Gudio van Rossum)
11989年的圣诞节期间,吉多范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承。
.ABC是由吉多参加设计的一种教学语言,就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,
究其原因,吉多认为是非开发造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果。之所以选中Python(蟒蛇)作为程序的名字,是因为他是BBC电视剧–蒙提*派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件。 -
Python和C++(或者C)的区别在哪为什么要学习Python,C++不香吗br> #C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发。Python是编译型还是解释型这个界限并不明显,但大致上可以理解为解释型语言,执行速度慢,由于Python虚拟机,Python是可以跨平台的,Python高度集成适合于软件的快速开发。同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下Python是Java的1/5,所以说人生苦短,我用Python。 Python是完全面向对象的语言 函数、模块、数字、字符串都是对象,在 Python中一切皆对象。完全支持继承、重载、多重继承。支持重载运算符,也支持泛型设计。Python拥有一个强大的标准库,Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、 络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。 Python 区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、人工智能、机器学习、Web开发、数据库接口、图形系统多个领域。总而言之:简单·易学·开源·免费。
-
相较于Python2,Python3做了哪些大的改进br> 类型注解(type hint)。帮助IDE实现类型检查(给变量添加类型提示,python2中动态语音没有类型声明的)。优化的super()方便直接调用父类函数。高级解包操作。a,b, *rest = range(10)。(0赋值给a,1赋值给b,剩下的元素全部赋值给test)。
练习题:
4. 怎样对python中的代码进行注释br> 表示注释,作用于整行。
或者 表示区间注释,在三引 之间的所有内容被注释
例如:”””
这是多行注释,用三个双引
这是多行注释,用三个双引
这是多行注释,用三个双引
“””
- python有哪些运算符,这些运算符的优先级是怎样的br> 算术运算符(一元运算符 二元运算符) 比较运算符 逻辑运算符 位运算符 三元运算符 其他运算符。
一元运算符优于二元运算符。例如等价于。
- 先算术运算,后移位运算,最后位运算。例如 等价于 。(移位运算属于位运算)
- 逻辑运算最后结合。例如等价于。
位运算符详解
- python 中 , 与 , 的区别是什么br> is, is not 对比的是两个变量的内存地址
- ==, != 对比的是两个变量的值
- 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
- 对比的两个变量,指向的是地址可变的类型(list,dict等),则两者是有区别的。
- python 中包含哪些数据类型些数据类型之间如何转换br> 数据类型
转换:例如:int(x,base=10)
print int(‘123’) #123
这里int函数默认了base参数值为10,也就是说把字符串’123’视为十进制数转换成十进制数;
print int(‘12345’,8) # 5349
这里int函数有了第二个参数base=8;说明要int函数把字符串’12345’视为八进制数转换成十进制数。
x 默认 base = 10
base = 0 表示根据自行给出的 x(**系统自己识别)**得出十进制的结果
x 必须是字符串、字节或字节组
int(x, base) -> integer 无论 base 等于几,得出来的都是十进制的整数,也就是base 中的几进制是限制 x 的,通过此运算得出对应的十进制。
int(‘0b100’, base=0)
0b 代表二进制的意思,base = 0,由于有 0b 系统自己可以识别出是二进制,故输出的是 4。
位运算:
n 计算 n2
n >> 1 -> 计算 n/2,负奇数的运算不可用
n 计算 n(2^m),即乘以 2 的 m 次方
n >> m -> 计算 n/(2^m),即除以 2 的 m 次方
1 2^n
5 ^ 0
5
也就是0和任何数异或的结果是这个任何数3 ^ 3
0
任何相同的数异或的结果是0
又由于异或满足交换结合律,整合重复的数都有2个,所以可以抵消掉
链接:https://leetcode-cn.com/problems/single-number/solution/136-zhi-chu-xian-yi-ci-de-shu-zi-pythonjie-ti-si-l/
Python中bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负 ,巨坑。
Python中的整型是补码形式存储的。
Python中整型是不限制长度的不会超范围溢出。
所以为了获得负数(十进制表示)的补码,需要手动将其和十六进制数0xffffffff进行按位与操作,再交给bin()进行输出,得到的才是负数的补码表示。
练习题:
leetcode 习题 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
尝试使用位运算解决此题。
题目说明:
“””
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
“””
class Solution:
def singleNumber(self, nums: List[int]) -> int:
# your code here
由于还不是很会算python 我再查找了很多资料后找到了算法
这题应当运用异或运算中,AA=0,A0=A。
typing模块的作用:
类型检查,防止运行时出现参数和返回值类型不对的情况
作为开发文档附加说明,方便使用函数时传入和返回正确的参数,利于开发效率
该模块并不会实际影响到程序的运行,不会 错,但是会有提示。
第二天
条件语句if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构。Python 使用缩进而不是大括 来标记代码块边界,因此要特别注意else的悬挂问题。
【例子】
【例子】
程序中出现中文,运行的时候出现如下错误:
SyntaxError: Non-UTF-8 code starting with ‘xb2’ in file XXX.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for de
导致出错的根源就是编码问题。
解决方案是:
在程序最上面加上:# coding=gbk
“)
3. if – elif – else 语句
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。
【例子】
- assert 关键词
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
【例子】
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
删除的项为 : Runoob
列表现在为 : [‘Google’, ‘Taobao’]
#AssertionError
在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。
【例子】
AssertionError
结果:
abcd
bcd
cd
d
I L o v e L S G O
【例子】
张三
李四
刘德华
刘六
周润发
【例子】
a:1 b:2 c:3 d:4

解释print(menble[i]):
x = ‘iplaypython’
for i in x:
print i,
i p l a y p y t h o n
range(len(x))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
len(x)
11
for i in range(len(x)):
print x[i],
i p l a y p y t h o n
#for else循环
当for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容,与while – else语句一样。
10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数
range()函数补充
range()函数内只有一个参数,则表示会产生从0开始计数的整数列表:
range(4)
[0, 1, 2, 3] #python 返回值
1
2
python range中,当传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:
range(0,5)
[0, 1, 2, 3, 4]
1
2
range()函数内可以填入三个参数,第三个参数是步进值(步进值默认为1):
range(0,10,3)
[0, 3, 6, 9]
1
2
range函数的参数和结果也并非一定要是正数或是递增的,好比下面两个例子:
range(-4,4)
[-4, -3, -2, -1, 0, 1, 2, 3]range(4,-4,-1)
[4, 3, 2, 1, 0, -1, -2, -3]
#enumerate()函数
enumerate(sequence, [start=0])
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
返回 enumerate(枚举) 对象
【例子】
[(1, ‘Spring’), (2, ‘Summer’), (3, ‘Fall’), (4, ‘Winter’)]
‘’’
I love Python
I love R
I love Matlab
I love C++
Done!
‘’’
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!