Python基础:
一、类型
1、Python是无类型的语言。
2、变量可以存储4种基础类型:数字、字符串、列表、元祖、字典、None。
3、列表、字典是引用赋值的,数字、字符串是传值赋值的。
数据类型转换函数:
二、顺序语句
1、没有行结束符号。
2、通过Tab字符识别语句段落。
3、通过【#】注释语句。
三、运算符
1、字符串运算符:
通过【+】链接,
2、算数运算符
3、比较运算符
4、赋值运算符
5、位运输符
6、逻辑运算符
7、成员运算符
8、身份运算符
四、判断语句
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
五、循环语句
1、While循环
while 判断条件: 执行语句……
2、For循环 2、For循环
for iterating_var in sequence: statements(s) for i in range(0,5): pass
3、else循环
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
4、其他关键字break、continue、pass、range(1, 50, 2)
六、列表、元祖、字典操作
1、列表
aa = [1,2,3,5] aa = list(range(1,6)) aa[1] = 6 aa.append(7) aa.insert(0,8) del aa[0] aa.pop() aa.pop(1) aa.remove(3) 2 in aa for i in aa: print(i) for i in aa[:3] #切片遍历 print(i) bb = aa[:] #复制列表
2、元祖
aa = (1,2) aa[0] = 3
3、字典
aa = {'color' : 'red', 'point': 2} aa['color'] = 'green' del aa['point'] aa.get('color','black') #查找Key,没有返回'black' aa.setdefault('age', 18) #设置新Key,默认值是18 'color' in aa.keys() 'red' in aa.values() for key,value in aa.itmes(): print(key) print(value) for key in aa.keys(): print(key) for value in aa.values(): print(value) 使用字典计算字符串中字符出现数量的统计 import pprint message = 'It was a bright cold day in April, and the clocks were striking thirteen.' count = {} for character in message: count.setdefault(character, 0) count[character] = count[character] + 1 pprint.pprint(count)
4、字符串
用 strip()、 rstrip()和 lstrip()删除空白字符 切片操作:[0:5] 取得从0到5的字符 ,[-1,2]取得-1到2的字符 三重引号,多行注释的用法 print('''Dear Alice, Eve's cat has been arrested for catnapping, cat burglary, and extortion. Sincerely, Bob''')
5、拷贝数据
import copy spam = ['A', 'B', 'C', 'D'] cheese = copy.copy(spam) copy.copy(), 可以用来复制列表或字典这样的可变值 copy.deepcopy(),复制的列表中包含了列表
七、函数的使用
def fun_name(value): print(value) #带默认值的参数 def fun_name1(value='dog'): print(value) fun_name('aaa') #函数调用 fun_name(value= 'aaa') #指定参数Key调用 funname(listname[:]) #创建列表副本,然后作为参数传递 #传递任意数量的实参,参数作为列表类型传递 def make_pizza(*topings): print(topings) make_pizza('aaaa') make_pizza('aaaa','bbbb','cccc') def make_pizza(size, *topings): print(str(size)) for toping in topings: print(toping) make_pizza(16,'aaaa') make_pizza(12, 'aaaa', 'bbbb') #使用任意数量的关键字实参,参数作为字典类型传递 def buildprofile(**userinfo): profile = {} for key, value in userinfo.items(): profile[key] = value #导入函数 import module_name #导入整个模块 from modulename import function_name #导入特定函数 from pizza import make_pizza as mp #使用as 给函数起别名 from pizza import * 导入模块所有函数
八、类的使用
#普通类 class Dog(): def _init_(self,name,age):self.name = name self.age = age def sit(self): print('sit') my_dog = Dog('aaaa', 6) print(my_dog.name) my_dog.sit() #继承子类 class Huskie(Dog): def _init_(self, name, age, zone): #Python 3.5 super().__init__(name, age)#Python 2.7#super(Dog,self).__init___(name, age) #导入类from dog import Dogimport dog 导入整个模块
九、异常处理
try: return 42 / divideBy except ZeroDivisionError: print('Error: Invalid argument.')
十、yield的用法
yield是生成的意思,但是在python中则是作为生成器理解,生成器的用处主要可以迭代,这样优化运算数据集,比如Range(10000),需要生成1000个数据集,但是用yield方式可以计算出下一个数值,就节省了空间。
当一个函数中含有yield时,它不再是一个普通的函数,而是一个迭代函数.当该函数被调用时不会自动执行,而是暂停,见第一个例子:
#encoding:UTF-8 def yield_test(n): for i in range(n): yield call(i) print("i=",i) #做一些其它的事情 print("do something.") print("end.") def call(i): return i*2 #使用for循环 for i in yield_test(5): print(i,",")