Python基础总结
Python语法基础第一句python# print('HelloWorld !\n')主函数#if __name__ == '__main__':格式#注意缩进和冒号#同一行多条语句间加分号#\是续行符和转义符 多加一个也是取消转义符号#hex()转为16进制字符串 oct()转为8进制字符串#'''或者"""三个引号多行注释 """允许字符串跨多行#\r ...
·
Python语法基础
第一句python
# print('HelloWorld !\n')
主函数
#if __name__ == '__main__':
格式
#注意缩进和冒号
#同一行多条语句间加分号
#\是续行符和转义符 多加一个也是取消转义符号
#hex()转为16进制字符串 oct()转为8进制字符串
#'''或者"""三个引号多行注释 """允许字符串跨多行
#\r 回车
#print(a,end=',') end将结果输出到同一行并加上结尾逗号
#global num 函数中声明全局变量,可更改 nonlocal num 修改前嵌套作用域
运算符
#/除 %求余 //整除且向下取整 **乘方
# &与 |或 ……异或 ~非 两个十进制按照二进制进行位运算
#a=60 ;b=13;c=a&b c为12
#<< >> 位运算
#and or not
#in not in
#is is not 判断引用对象是否为同一个
字符串string
#字符串定义后不可更改
# firstname='Wesley' #字符串相加
# lastname='Lau'
# name=firstname+' '+lastname
# print(r"firstname+'\t'+lastname") #反斜杠\转移,r取消转义
# print(name)
#pi='3'*10 #字符串乘表示重复
# a="Hello 'nihao'" #大小写
# a.lower() a.title() a.upper()
# name=' python ' #字符串空格问题
# name.lstrip() name.rstrip() name.strip()
#count(str,beg=0,end=len(string)) string里出现str的次数
数字number
#int bool float complex(复数,1.5+2j)
#'' 和""问题
# int()和str() 转换问题
#a,b,c=1,2,'3' 多变量赋值
列表list (可实现堆栈、队列)
#里面元素可不同类型
# weeks=['monday','tuesday','wensday','thursday','friday','saturday','sunday']
# weeks[0] #列表索引从0开始
# weeks[-1] #列表倒数第一个
# weeks[2:5] #即wensday,thursday,friday
# weeks.append('plus one') #列表添加
# weeks.insert(0,'before') #列表添加
# del weeks[0] del weeks[1:3] #列表直接del删除
# weeks.pop() weeks.popleft() #列表pop弹出并删除
# weeks.remove('sunday') #列表remove删除第一个特定值
# cars=['bmw','audi','toyota','subaru']
# cars.sort() #按照字母序排序
# cars.sort(reverse=True)
# print(sorted(cars,reverse=False)) #sorted()临时排序,不改变原序列
# cars.reverse() #reverse()反转列表
# len(cars) #len()列表长度,可用来排除错误。
# list1+list2 #表示不同列表组合 list1*5 表示重复
#列表可嵌套
#list.count(str) #计算str出现次数
#list.index(str) #str第一次出现的位置
#list.copy() #复制列表
# for day in weeks:
# print(day) #注意python冒号、缩进
# for num in range(1,6): #range(m,n) m~(n-1)
# print(num)
# even_numbers=list(range(2,11,2)) #隔2
# squares=[value**2 for value in range(1,11)] #列表解析
# weeks2=weeks #切片复制,weeks变就跟着变
# weeks3=weeks[:] #切片副本复制,weeks变无关系
# l1=['name','sex','color'] #zip作用
# l2=['wesley','male','blue']
# for i,j in zip(l1,l2):
# print('what is your {0}? it is {1}.'.format(i,j))
元组 tuple
#内容不可更改,里面元素可不同类型,可嵌套
# dimensions=(10,100,1000)
# print(dimensions[2]) #tuple定义后不可更改,只可重定义。访问如列表一样访问
#元组组合,可+可*
#tuple仅一个元素:(50,)加逗号否则认为是int
#del tuple 删除整个元组,不可删除一个元素
集合set
#可变,元素不重复
#a=set('abiaufbi') student={'tom','jim','jack','rose'} #set定义
#s.add(x) s.update({x,y,z}) #集合添加
#s.remove(x) #集合删除
#x=s.pop() #集合中随机删除
#a-b a|b a&b a^b #差集 并集 交集 不同时存在的元素
#if 'tom' in student:
# print('True')
条件语句
# if a==10 and b==10:
# print('success !')
#elif a==5:
# print(a)
#else:
# print('False !')
# num=['1','2','3','4','5']
# if '1' not in num:
# print('Not in !')
# else:
# print('success !')
# if num:
# print('Not empty !')
字典dic
# alien={'color':'green','points':'5'} #字典定义
# print(alien['points'])
# alien['strange']='true' #添加
# alien['color']='blue' #更改
# del alien['strange'] #删除
# for m,n in alien.items(): #遍历
# print(m+': '+n)
# for m in alien.keys():
# print(m)
# for n in alien.values():
# print(n)
输入输出
# message=input('please input : ')
#inputwords=input.split(" ") #通过空格分开成为列表
#output=' '.join(inputwords) #组合字符串
# print('{0:10} ==> {1:10d}'.format(name, number)) format格式
# print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))
# print('常量 PI 的值近似为:%5.3f。' % math.pi) 结果为3.142
循环语句
# while num<11:
# num-=1
#while-else 条件循环
#for i in range(10): for-else循环
迭代器: 基本方法:iter() next()
# list=[1,2,3,4]
# it=iter(list)
# print(next(it))
生成器
#yield a 保存此时所有运行信息,返回值a,下一次next()执行时从此开始
函数
#常用函数:
#type() len() abs()绝对值 ceil(num)向上取整 math.exp(2)e的2次方
#max() min() pow(x,y)x的y次方 math.sqrt(num)平方根
#round(num,n)num四舍五入到小数点后n位
#isinstance(1,int)返回True isinstance认为子父类 type()不认为
# def greet(username,usernumber='0'): #实参形参(使用默认值),参数顺序,多次函数调用
# print('Hello! No.'+usernumber+' '+username)
# greet('Jack','1')
# greet('Michael','2')
#函数参数传递不可变对象时为值传递
#lambda匿名函数
# sum=lambda a,b:a+b
# sum(10,20)
#函数 return返回
# def names(*name): #函数传递任意参数 *,构成tuple
# for i in name:
# print(i.title())
# names('liu','zhang','wang','li')
# def build_profile(**userinfo): #函数传递任意参数,**构成字典参数
# profile={}
# for key,value in userinfo.items():
# profile[key]=value
# return profile
# myprofile=build_profile(location='ecust',field='CS',name='Liu')
模块
# from ... import ... as ...(别名/简称)
# from ... import * 导入所有模块
# from car import Car,ElectricCar Car.function() #从car.py文件中导入Car、ElectricCar两个类
# import car car.function() #从car.py文件中导入所有类
#寻找模块顺序地址:
# '',
# 'C:\\Users\\wesle\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
# 'C:\\Users\\wesle\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
# 'C:\\Users\\wesle\\AppData\\Local\\Programs\\Python\\Python37\\lib',
# 'C:\\Users\\wesle\\AppData\\Local\\Programs\\Python\\Python37',
# 'C:\\Users\\wesle\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages'
类 、面向对象编程
# class Dog(): #类名
# def __init__(self,name,age): #self表示对象,创建对象时自动调用init函数 #属性__init__ self.name=name
# self.name=name
# self.age=age
# self.sex='male' #默认属性
# def sit(self): #方法1
# print(self.name.title()+'is now sitting.')
# def roll_over(self): #方法2
# print(self.name.title()+'rolled over')
# mydog=Dog('Bill',2)
# print(mydog.sex)
# mydog.sit()
# mydog.roll_over()
# class Petdog(Dog): #继承
# def __init__(self,name,age):
# Dog.__init__(name,age)
# self.size='small'
# def sit(self): #覆盖父类方法
# print("sitting !")
# def feature(self):
# print('Really cute !')
# mydog2=Petdog('Pual',3)
# print(mydog2.size)
# mydog2.feature()
#__两个下划线开头的属性和方法为私有属性、私有方法
文件
# with open('pi.txt') as file: #打开方法1
# file=open('pi.txt') #打开方法2
# contents=file.read()
# for line in file:
# print(line)
# lines=file.readlines() #获取列表
# with open('programming.txt','w') as file: #写入文件,会自动创建文件
# file.write('I love programming !\n')
# with open('programming.txt','a') as file: #写入文件,附加addition写入
# file.write('Art of programming . \n')
#f.close()
#pickle模块
#json模块 json.load() json.dump()
异常 try-except-else语句
#try 失败则执行except 成功则执行else
# try:
# x=5/0
# except ZeroDivisionError:
# print('success !')
# # print('Wrong calculation !')
# else:
# print('success')
#finally: #不论怎样都会执行
# print('end')
python框架
#Django
各类python库,
#pip python库管理软件
# import os
# import sys
# import re 正则表达式
# import math
# math.pi math.cos math.log
# import random 随机
# random.choice(range(10))
# random.sample(range(100),10)
# from urllib.request import urlopen 网络请求
# import smtplib 发邮件
# import datetime
# today=datetime.date.today()
# yesterday=today-datetime.timedelta(days=1)
# today_str=today.strftime('%y.%m.%d')
# day=date(1996,12,23)
# print((now-day).days)
# import zlib 压缩
# s='asegiaoignkgb'
# t=zlib.compress(s)
# t=zlib.decompress(t)
# from timeit import Timer 测量性能
# Timer('t=a;a=b;b=t','a=1;b=2')timeit()
# Timer('a,b=b,a','a=1;b=2').timeit()
# import doctest 测试模块
# import unittest 测试模块
points:
协程由线程创建,被程序调用
a=(1,2,3) 元组不可改变 a*3返回新元组
所有标准对象均可用于布尔测试: '' [] {} null false 均看作false
l[2:5] [2,5) 的数
print(r'asdasd\n') r取消转义,直接输出字符串
当作模块被其他.py程序调用,__name__即为模块名
python四种命名方式:
object 公用方法
_object 半保护
__object私有
__object__ python内建方法
tuple元组:不可变
元组有序
set: s=set()
s.add(4)
s.remove(4)
集合无序,不重复
max=x if x>y else y python中无?三元操作符
return处结束进程
python没有return自动返回None
import copy
a=copy.copy(b) 浅复制,b的父对象变则不变,b的子对象变则变
a=copy.deepcopy(b) 深复制,b变则变
a=b a变则b变,b变则a变
更多推荐
已为社区贡献2条内容
所有评论(0)