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变


 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐