前面几天参加了公司面试,发现代码方面还是很菜鸡,我想好好在充实一下,具体做法是刷力扣和学习廖雪峰老师的python,话不多说开始行动吧!
#python的一些基础知识
练习
请利用print()输出1024 * 768 = xxx:
a=int(input('给我第一个整数'))
b=int(input('给我第二个整数'))
c=a*b
print('{0}*{1}={2}'.format(a,b,c))
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9 和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等.整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
print(1.23e8)
结果是123000000.0
如果字符串内部既包含’又包含"怎么办?可以用**转义字符**来标识,比如:
print('I'm "OK" !')
如果字符串里面有很多字符都需要转义,就需要加很多,为了简化,Python还允许在前面用r表示’'内部的字符串默认不转义
print(r'I'm "OK"!')
输出结果是 I’m “OK”
Python允许用’’’…’’'的格式表示多行内容,当然这个在外面也可以做注释:
print('''line1
line2
line3''')
输出结果为:
line1 line2 line3
''' 我想要高飞,想要飞往那片向往的热土上。 '''
布尔值bool:True和False两个值
平常用在条件判断中,下面例子中如果条件为真的话,执行if语句,否则执行else语句
age=24
if age >=18:
print('你是成年人了,大boy')
else:
print('你还是小娃娃,未成年')
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
变量
python中变量可以是任意类型的数据;理解变量在计算机内存中的表示也非常重要
a=123 #整数型赋值 a='123' #字符串赋值 a=123.45 #浮点数赋值 a=True #布尔值赋值
常量
不会变化的量,整数的除法也是精确的,有两种,一种是’/‘这个的话会得到精确的浮点数;另外一种是"//"这个的话返回值是整数。
print(3/9) #0.3333333333333333 print(9//4) #2 print(9%4) #1
无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。
字符串和编码计算机在设计时候用8个bit表示一个字节,一个字节11111111表示最大的整数是255
而汉字通常需要3个字节表示,最开始的ASCII码是为了英文的编码,输入127个字符。unicode2个字节又对英文编码有点冗余,提出了后面的UTF-8可变长编码
计算机底层都是以unicode编码方式存在的,在输出时候做了转换UTF-8
所以你看到很多网页的源码上会有类似的信息,表示该网页正是用的UTF-8编码。
python字符串
在python3中字符串是以unicode编码的,所以它支持多语言
print('你是谁呢?')
print(ord('a')) #97
print(chr(65)) #A
英文可以用ascii和utf-8都能编码,但是中文只能用utf-8,否则报错,主要原因是超过了ascii编码的范围
>>> b'ABC'.decode('ascii')
'ABC'
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'xe4xb8xadxe6x96x87'
>>> b'xe4xb8xadxe6x96x87'.decode('utf-8')
'中文'
要计算str包含多少个字符,可以用len()函数:
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:
一个英文字母占用1个字节,而一个汉字需要3个字节
>>> len(b'xe4xb8xadxe6x96x87') 6 >>> len(b'ABC') 3
格式化字符串
输出结果是:‘Age: 25. Gender: True’
print('Age:%d.Gender:%s'%(25,True))
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
print('%2d-%02d'%(3,1)) # 3-01
print('%.2f'%3.14153456)#3.14
练习
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出’xx.x%’,只保留小数点后1位:结果是13.0%
s1=72
s2=85
s3=s2-s1
print('%.1f'%s3+'%')
使用list和tuple
list列表,是python中的一种容器。可以发生修改,添加或者删除操作
len()函数可以用来求长度
nums.append()可以在列表末尾添加元素
nums.insert(index, value) index是索引值,可以直接插入到index处
>>> nums.insert(1,90)#对列表进行插入,第一个数是index,第二个是value >>> print(nums) [1, 90, 2, 3, 45, 6] >>> nums.append(100) #在末尾添加一个数 >>> nums [1, 90, 2, 3, 45, 6, 100] >>> nums.pop() #删除最后一个元素 nums.pop(i)删除索引位置为i的元素 100 >>> nums [1, 90, 2, 3, 45, 6]
练习:
在s = [‘python’, ‘java’, [‘asp’, ‘php’], ‘scheme’]找到php
s = ['python', 'java', ['asp', 'php'], 'scheme'] print(s[2][1])
tuple 元组:一旦初始化就不能改变,没有append,insert,pop等函数
>>> t=(1,2,3,4) >>> t (1, 2, 3, 4)
但是在元组和列表混合使用的场景下,我们可以修改列表的值(‘a’, ‘b’, [‘C’, ‘B’])
t = ('a', 'b', ['A', 'B'])
t[2][0]='C'
print(t)
t(1)这不是tuple,定义的一个数1



