1.1 设置代码格式,养成一个良好的Python代码编写习惯
1. 缩进
建议每级缩进都使用四个空格
2. 行长
每行不超过80个字符
3. 空行
合理使用空行来让代码更利于阅读
2.1变量
例子1:变量的定义,通过=赋值,命名原则如下:
1)变量名只能包含 数字、字母、下划线;
2)变量名不能使用数字开头;
3)变量名不能包含空格,但可以使用下划线_来区分不同意义的单词;
4)变量名应该既简单又具有描述性;
5)变量名最好使用小写。
6)不要将Python关键字和函数名用作变量名。
例子1.1 整型赋值给变量
>>> spam = 40
>>> spam
40
例子1.2 字符串赋值给变量
>>> spam = 'Hello'
>>> spam
'Hello'
例子1.3 函数返回值赋值给变量
>>> myName = input()
I am Olivia
>>> myName
'I am Olivia'
例子1.4 列表,元组,字典,集合赋值给变量,列表赋值给多个变量
>>> girlName, boyName, itName = ['Olivia', 'Jerry', 'dog']
>>> girlName
'Olivia'
>>> boyName
'Jerry'
>>> itName
'dog'
元组赋值给变量
>>> spam = (1, 2, 4)
>>> spam
(1, 2, 4)
字典赋值给变量
>>> myCat = {'size':'fat', 'color':'gray', 'disposition':'loud'}
>>> myCat
{'size':'fat', 'color':'gray', 'disposition':'loud'}
集合赋值给变量
>>> treeName = {'a', 'b', 'c'}
>>> treeName
{'b', 'a', 'c'}
例子1.5 注意变量的特性,可以将复杂的表达式或者计算式赋值给变量,后续只通过使用变量名来完成复杂的表达或者计算过程。
>>> first_name = 'ada'
>>> last_name = 'lovelace'
>>> full_name = first_name + "" + last_name
>>> message = "hello" + full_name.title() + "!"
>>> print(message)
例子2:变量的一个重要特性,变量代表的是一种引用(只对可变数据类型来说,变量赋值的是引用;对于不可变类型比如数值、字符串、元组,变量保存的是值非引用),并不是把真实值赋值给了变量
>>> treeName = ['a', 'b', 'c']
>>> myName = treeName
>>> myName
['a', 'b', 'c']
>>> treeName[1] = treeName[0]
>>> myName
['a', 'a', 'c']
例子3:增强赋值,利用变量自己给自己赋值
>>> spam = 'Jerry'
>>> spam = spam + 'Olivia'
>>> spam
'JerryOlivia'
用变量自己给自己赋值,有以下几种符号:+=,-=,*=,/=,%=
>>> spam += 'Olivia'
>>> spam
'JerryOliviaOlivia'
2.2输入和输出
例子1:print()输出,print在用逗号分隔的情况下,会自动用空格分隔
+连接2个字符串的时候,之间是没有空格的
>>> print('I am a good girl.')
I am a good girl.
>>> a = 'Jerry'
print('I am a good girl' + 'and' + a)
I am a good girlandJerry
>>> print('I am a good girl', 'and', a)
I am a good girl and Jerry
例子2:改变print在有逗号的情况下默认空格分隔的行为
>>> print('cat', 'dog', 'mouse', seq = ',') #注意一下这句代码,结果出错
cat,dog,mouse
例子3:改变print的另一个默认行为:在每一个字符串后面添加换行符
>>> def test():
print('hello')
print('world')
上面这个代码有问题,注意格式,正确代码如下:
>>> def test():
print('hello')
print('world')
>>> test()
hello
world
>>> def otest():
print('hello', end = '') #添加的是空字符,而不是空格字符
print('world')
>>> otest()
helloworld
>>> def atest():
print('hello', end = '+')
print('world')
>>> atest()
hello+world
例子4:format函数
是一个字符串方法str.format()
>>> age = 25
>>> name = 'Caroline'
str.format()中str的参数使用{num}进行表示,0表示第一个参数,1表示第二个参数,
>>> print('{0} is {1} years old.'.format(name, age)) #输出参数
Caroline is 25 years old.
>>> print('{0} is a girl.'.format(name)) #
Caroline is a girl.
:代表元素需要的操作,{:.3}代表小数点后需要三位,{:8}占8个字符串空间,没有的用空格填充
>>> print('{0:.3} is a decimal.'.format(1/3)) #小数点后三位
0.333 is a decimal
>>> print('{0:_^11} is a 11 length.'.format(name)) #使用_补齐空位
_Caroline__ is a 11 length
>>> print('{first} is as {second}.'.format(first=name, second='Wendy')) #别名替换
Caroline is as Wendy
>>> print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法
My name is out.txt
>>> print('My name is {0:8}.'.format('Fred')) #指定宽度
My name is Fred .
2.3运算符
例子1:运算符本身的计算结果,+、-、*、/、//、%、**
>>> 2 + 2
4
>>> 4 - 2
2
>>> 4 * 5
20
>>> 6 / 3 #除法,即使能整除,也是浮点数结果
2.0
>>> 8 // 3 #商数取整
2
>>> 9 % 2
1
>>> 2 ** 2 #指数
4
例子2:运算符之间是存在优先级别的,详细优先级(优先级排序:1.指数 2.%,/,//,* 3.-,+ 4.&,5.比较操作符 6.赋值操作符 7.标示操作符 8.成员操作符 9.逻辑操作符 )
>>> 5 ** 2 // 4 % 3
0
>>> 5 ** 2 / 4 % 3
0.25
>>> (5 ** 2) / ( 4 % 3)
25
转义字符的用法
>>> print("Hello there!\nHow are you?\nI\'m doing fine.")
Hello there!
How are you?
I'm doing fine.
2.4 数据类型:整型
例子1:整型自带的整型转换器int(),不同用法
>>> int(34.5)
34
>>> int('ox2d', 16)
45
>>> int('0o55', 8)
45
>>> int('ob101101', 2)
45
>>> int(0b101101)
45
>>> int(0o55)
45
>>> x = 0b101101
>>> int(x)
45
>>> x = 0x2d
>>> int(x)
45
例子2:将整型转化成二进制、八进制、十六进制
>>> x = 45
>>> bin(x)
'0b101101'
>>> oct(x)
'0o55'
>>> hex(x)
'0x2d'
例子3:如果输出结果不想带0b、0x、0o,可以使用format()函数
>>> x = 45
>>> format(x, 'b')
'101101'
>>> format(x, 'x')
'2d'
>>> format(x, 'o')
'55'
数据类型:浮点型
利用float()函数将其他类型转换成浮点型
>>> float(True)
1.0
>>> float(False)
0.0
>>> float(98)
98.0
>>> float('99')
99.0
>>> float('98.0') #将包含有效浮点数的字符串转换为真正的浮点型数字
98.0
数据类型:字符串
例子1:创建字符串,注意:字符串不可变
>>> 'Snap'
'Snap'
>>> "Crackle"
"Crackle"