python基础
1.十六进制:十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
2.转义字符:转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,
不转义字符:如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,例如:print(r'\\\123\\\t')
多行显示字符:,Python允许用'''...'''的格式表示多行内容,
>> print('''line1 ... line2 ... line3''') line1 line2 line3
3.除法 / 结果保留浮点数
整除 // 结果保留整数
求余 % 得到两个整数相除的余数
4.格式化字符串:
我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
【1】% 字符格式化字符串
常用的占位符:
整数 %d; 浮点数 %f; 字符串 %s; 十六进制整数 %x;百分号 %%;
%02d 表示补0成为2位数的整数:print('%02d' % (1))-->01
%.2f 表示补0成为2位数的浮点数:print('%.2f' % (3.1415926))-->3.14
【2】format() 格式化字符串
format()它会用传入的参数依次替换字符串内的占位符{0}、{1}……,
例如:
print('Hello,{0}成绩提升了{1:.2f}%'.format('小明',35.567))-->Hello,小明成绩提升了35.57%
【3】f-string 格式化字符串
使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换
例如:
r =2.5 print(f'name is {r:.2f}') --> name is 2.50
4.格式化字符串:
我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
【1】% 字符格式化字符串
常用的占位符:
整数 %d; 浮点数 %f; 字符串 %s; 十六进制整数 %x;百分号 %%;
%02d 表示补0成为2位数的整数:print('%02d' % (1))-->01
%.2f 表示补0成为2位数的浮点数:print('%.2f' % (3.1415926))-->3.14
【2】format() 格式化字符串
format()它会用传入的参数依次替换字符串内的占位符{0}、{1}……,
例如:
print('Hello,{0}成绩提升了{1:.2f}%'.format('小明',35.567))-->Hello,小明成绩提升了35.57%
【3】f-string 格式化字符串
使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换
例如:
r =2.5 print(f'name is {r:.2f}') --> name is 2.50
5.list 和 tuple
列表:list是一种有序集合,可以随时添加和删除其中的元素,list中的元素,从索引0开始。
l=[1,2.3]
用len()函数可以获得list元素的个数:len(l)-->3
取最后一个元素:l[-1]-->3
【追加元素至末尾】:.append( "tom")
【添加元素至指定下标位】:.insert(1,"tom")
【删除末尾元素】:.pop()
【删除指定位置元素】:.pop(1)
【替换元素】:>>> classmates[1] = 'Sarah'
tuple:元组,一旦初始化不能修改
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:t(1,)
6.条件判断
if ... :
else...: end
if....:
elif....:
else..: .end
7.输入函数 input( )
birth = input('birth: ')
读入的 birth 是 str 类型
8.循环
【for ...in..循环】
例如:求和
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
【range 函数】
输出指定范围的数值,从0开始,不包括最大值。
l=list(range(0,5)) print(l) >>[0, 1, 2, 3, 4]
【while循环】
只要条件满足,就不断循环,条件不满足时退出循环。
求100内奇数 的和:
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)
(死循环:while True)
【break 退出循环】提前结束循环
例如:打印1~10数字
n = 1 while n <= 100: if n > 10: # 当n = 11时,条件满足,执行break语句 break # break语句会结束当前循环 print(n) n = n + 1 print('END')
【continue 执行下次循环】天国当前这次循环,执行下次循环
例如:打印1~10,只打印奇数
n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶数,执行continue语句 continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行 print(n) -->>1,3,5,7,9
9. 使用dict(字典) 和set(存key)
【dict 字典】使用键-值(key-value)存储,具有极快的查找速度。
创建字典: d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
【in 判断key是否存在】:
'Thomas' in d -->False
【get 返回key的值】:
d.get('Thomas') --->None
d.get('Bob') --->75
【pop 删除键值对】:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
【set】:存储key 的集合
定义set:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
重复元素在set中自动被过滤:
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
【add 添加元素】
>>> s.add(4)
>>> s
{1, 2, 3, 4}
【remove 删除元素】
>>> s.remove(4)
>>> s
{1, 2, 3}
【set 求交集】
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
【set 求并集】
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 | s2
{1, 2, 3, 4}
【不可变对象 str】
【可变对象 list】
- 函数
【查看函数用法 help】:
help(abs)-->
Help on built-in function abs in module builtins:
abs(x, /)
Return the absolute value of the argument.
【数据类型转换】:
把其他数据类型转换为整数:int(x)
转换成浮点型:float( x )
转换成字符型:str( x )
转换成布尔型:bool( x )
转换成16进制:hex( x )
【给函数起别名引用】:
>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1
【定义函数】:
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
def my_abs(x):
if x >= 0:
return x
else:
return -x
函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。
【导入函数】:
如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):
abstest.py文件中定义函数:
───────────────────────────────────────────────────┤
│>>> def my_abs(x): │
│... if x >= 0: │
│... return x │
│... else: │
│... return -x
导入函数:
>>> from abstest import my_abs
>>> my_abs(-9)
9
【空函数】:用pass语句:
def nop( ):
pass
【pass做占位符】
pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
例如:
if age >= 18:
pass
【返回多个值】
函数可以同时返回多个值,但其实就是一个tuple。
【函数的参数】
【位置参数】调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。
例如:用来计算x的n次方
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
>>> power(5, 2)
25
【默认参数】
默认参数可以简化函数的调用。设置默认参数时,有几点要注意:
一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);
二是如何设置默认参数。
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
例如:
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
【可变参数】
仅仅在参数前面加了一个*号,允许你传入0个或任意个参数。在函数内部,参数numbers接收到的是一个tuple。
例如:
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:
>>> nums = [1, 2, 3]
>>> calc(*nums)
14
【关键字参数】
键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
例如:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
- ···
- 读写
12
12