Python基础语法

Python基础语法

随机数

随机数再现

x= random.getstate()
print(x)
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)
random.setstate(x)
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)

数字类型

浮点数

import decimal
a=decimal.Decimal('0.1')
b=decimal.Decimal('0.2')
c=decimal.Decimal('0.3')
if(a+b==c):
    print('true')

复数

#复数  复数都是浮点数
x=1+2j
print(x.real)
print(x.imag)

运算

divmod (x,y) 返回(x//y, x%y)
x//y 地板除 3//2=1 -3//2=-2
x%y x除以y的余数

>>>divmod(3,2)
>(1,1)
>>>divmod(-3,2)
>(-2,1)

int(x)将x转换成整数

pow(x,y) x的y次方

>>>pow(2,3)
8
>>>pow(2,3,5)
3
#2 ** 3 % 5

s为字符串

s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。

s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。

s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。

s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。

s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。

s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。

四舍五入

5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6

短路原则和运算符优先级

短路原则

>>> 3 and 4
4
>>> 3 or 4
3
>>> 0 and 3
0
>>> 0 or 4
4
>>> (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
4
>>> False or 0 or 4 or 6 or 9
4

运算符优先级

数字越大优先级越高

>>>not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
4

分支和循环

条件表达式:
条件成立时执行的语句 if condition else 条件不成立时执行的语句

break和continue都只作用于一个循环体
break跳出循环,还有未执行的语句也会跳出

while True:
	answer=input("可以退出循环吗")
	if answer=="可以":
		break
	print("唉 好累")

	
可以退出循环吗不可以
唉 好累
可以退出循环吗不能
唉 好累
可以退出循环吗可以

continue跳出本轮循环,回到循环的开头

for i in range(10):
	if i%2 != 0:
		print(i)
		continue
	i+=2
	print(i)
		
输出:
2
1
4
3
6
5
8
7
10
9

上例:i是偶数就+2输出,i是奇数就直接输出

-

列表

添加元素

append添加一个元素
extend添加一个列表
insert在指定位置插入 (计数从0开始)

mix = [1,'xiaodong',3,[2,4]]
>>> mix
[1, 'xiaodong', 3, [2, 4]]
>>> mix.append('hello')
>>> mix
[1, 'xiaodong', 3, [2, 4], 'hello']
>>> len(mix)
5
>>> mix.extend(['ye','boy'])
>>> mix
[1, 'xiaodong', 3, [2, 4], 'hello', 'ye', 'boy']
>>> mix.insert(0,'jia')
>>> mix
['jia', 1, 'xiaodong', 3, [2, 4], 'hello', 'ye', 'boy

删除元素

remove删除元素
member.remove(‘a’)
del member[i]
pop

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> member.pop()
88
>>> member
['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳']
member.pop(0)
'小甲鱼'
>>> member
[88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳']

替换元素

>>> list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
>>> list1[1][2][0]='小鱿鱼'
>>> list1
[1, [1, 2, ['小鱿鱼']], 3, 5, 8, 13, 18]

列表切片

得到的是原列表的拷贝

>>> member
[88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳']
>>> member[1:4]
['黑夜', 90, '迷途']
>>> member
[88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳']
>>> member[:3]
[88, '黑夜', 90]
>>> member[1:]
['黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳']

补充
拷贝列表用分片方式
分片拷贝和直接拷贝的区别:

>>> list11=[1,3,2,9,7,8]
>>> list12=list11[:]
>>> list13=list11
>>> list12
[1, 3, 2, 9, 7, 8]
>>> list13
[1, 3, 2, 9, 7, 8]
>>> list11.sort()
>>> list11
[1, 2, 3, 7, 8, 9]
>>> list12
[1, 3, 2, 9, 7, 8]
>>> list13
[1, 2, 3, 7, 8, 9]

在这里插入图片描述

列表推导式

[有关A的表达式 for A in B]

>>> list1 = [x**2 for x in range(10)]
>>> list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

列表操作符

list.sort() 排序
list.count() 计数
list.index() 索引 返回查找元素的位置
list.clear() 请空列表元素 清空后列表仍然存在

元组

元组内的元素不可更改
元组的标志 ,eg:temp=(1,)

>>> 8*(8)
64
>>> 8*(8,)
(8, 8, 8, 8, 8, 8, 8, 8)

元组中添加元素的方法

>>> temp=('a','b','c','d')
>>> temp=temp[:2]+('e',)+temp[2:]
>>> temp
('a', 'b', 'e', 'c', 'd')

字符串

capitalize 将首字母改为大写

>>> str2='xiaoxie'
>>> str2.capitalize()
'Xiaoxie'

casefold 将所有字母改为小写

>>> str2='DAXIExiaoxie'
>>> str2.casefold()
'daxiexiaoxie'

center(width) 将字符居中,并用空格填充至长度width的新字符串

>>> str2.center(40)
'              DAXIExiaoxie              '

count(sub[,start[,end]]) 返回sub在字符串里出现的次数,start和end参数表示范围,可选

endswith(sub[,start[,end]]) 检测字符串是否以sub字符串结束,是的话返回True,不是返回False

expandtabs([tabsize=8]) 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认参数是tabsize=8

str.isalnum() 所有字符都是数字或者字母
str.isalpha() 所有字符都是字母
str.isdigit() 所有字符都是数字,如果带小数点,则会返回False

格式化

0,1,2是位置参数
a,b,c是关键字参数

>>> "{0} love {1}.{2}".format("I","FishC","com")
'I love FishC.com'
>>> "{a} love {b}.{c}".format(a="I",b="FishC",c="com")
'I love FishC.com'

%c 格式化字符及ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%f 格式化定点数,可指定精度
%e 科学计数法格式化定点数
%g 根据值的大小决定使用%f或%e

>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
>>>"{0}{1:.2f}".format('Pi = ', 3.1415)
'Pi = 3.14'
>>> '%c' % 97
'a'
>>> '%d+%d=%d'% (4,5,4+5)
'4+5=9'
>>> '%o'%10
'12'
>>> '%f'%27.658
'27.658000'
>>> '%e'%27.658
'2.765800e+01'

格式化操作符辅助命令
m.n m是显示的最小总宽度,n是小数点后的位数

  • 用于左对齐
>>> '%5.1f'%27.658
' 27.7'
>>> '%.2e'%27.658
'2.77e+01'
>>> '%10d'%5
'         5'
>>> '%-10d'%5
'5         '
>>> 

字符串转义字符
’ 单引号
" 双引号
\n 换行符
\t 制表符

序列

list 把可迭代对象转换为列表

>>> b="I love FishC.com"
>>> b=list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']

tuple([iterable]) 把一个可迭代对象转换为元组
str(obj)把obj对象转换为字符串
len(sub) 返回sub的长度
max() 返回序列或者参数里的最大值
min() 返回序列或者参数里的最小值
sum(iterable[, start=0]) 返回序列iterable和可选参数start的总和
sorted 排序
reversed
enumerate
zip

>>> numbers=[2,4,98,50]
>>> sorted(numbers)
[2, 4, 50, 98]

>>> reversed(numbers)
<list_reverseiterator object at 0x0000020D3AB69708>
>>> list(reversed(numbers))
[50, 98, 4, 2]

>>> enumerate(numbers)
<enumerate object at 0x0000020D3AB65368>
>>> list(enumerate(numbers))
[(0, 2), (1, 4), (2, 98), (3, 50)]

>>> a=[1,2,3,4,5,6,7,8]
>>> b=[4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x0000020D3AB74248>
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]

所谓迭代,是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值