python2
()提高优先级
字符串对象: dir()
s = nanhangjincheng
dir(s) #查看s的可用指令
添加字符: jion
s = nanhangjincheng
"_".jion(s)
n_a_n_h_a_n_g_j_i_n_c_h_e_n_g
位运算:基于二进制的运算 #计算机最小单位:bit、1字节(byte) == 8bit
#首个数字为符号位,标识正负:0为正 1为负
10+11 ==
0000 1010
0000 1011
*--------------------------------*
0001 0101
这样单纯的运算不适用负数的相加
为了解决复数运算问题*--------*提出原码、反码、补码
原码 数值的标准二进制
反码 符号位不变,其余位取反
补码 == 反码+1
原码 反码 补码
-3 10000011 11111100 11111101
2 00000010
正数不存在反码、补码,计算机底层的运算是基于补码的
-3+4==
-3 1000 0011 1111 1100 1111 1101
4 0000 0100
溢出->10000 0001
计算机的底层基于位运算的
&(且): 两真则真,一假则假
8&9: 0000 1000
& 0000 1001
0000 1000
|(或):两假为假,一真则真
8|9: 0000 1000
| 0000 1001
0000 1000
^(异或):相反为真,相同为假
8^9: 0000 1000
^ 0000 1001
0000 0001
~(换位取反,#包含符号位):
~2:0000 0010 --->1111 1101(补码) --->1111 1100(反码)--->1000 0011
>>:右移(除以2的n次方)
8>>:0000 1000
00 001000
<<:左移
8<<:0000 1000
000010 00
三元运算符:条件成立时的代码 if 判断 else 条件不成立时的代码
程序结构
顺序结构
选择结构
循环结构
选择结构:
if关键字
最简单的if语句:
if 表达式:
代码1
else:
代码2
if 表达式:
代码1
elif表达式:
代码2
else:
代码3
索引:正向索引:下标从0开始
负数索引,下标从-1开始
字符串的切片:sname[start:end:step] [ )
sname:要操作的序列名称
start:表示切片的开始位置(包含自身),如果不去指定的话,默认从0开始。
end:表示切片的结束位置(不包含自身),如果不指定的话,默认是序列的长度
step:表示切片的步长,如果省略,默认为1
s[:] 切片切的是整个字符串
s = "nanhangjincheng"
s[0:5]
'nanha'
s[:5]
'nanha'
s[:]
'nanhangjincheng'
nanhang:步长为2,nnag 0 1 2 3 4 5 6
s[::-1]:字符串反转
a = input("请输入一句话:")
回文:a[:] ==a[::-1]
列表:list [元素1,元素2,元素3,…] #列表里的元素数据类型可以不相同,列表可以相互嵌套
列表里的元素可以重新赋值
列表的运算
list_1 = [1,2,3]
list_2 = [4,5,6]
list_4 = list_1 + list_2
print(list_3)
1,2,3,4,5,6
list_4 = list_1 * 3
print(list_4)
1,2,3,1,2,3,1,2,3
ls = list()
ls =list([1,2,3,4,5]) #容器中的每一个值,我们叫做元素
list1 = [] == list1 = list()