python3基础语法学习

比较基础不牵扯面向对象的内容

Posted by WEW on April 9, 2019

作为知识储备基类

标识符

1.标识符开始第一个字符必须是字母或者下划线’_‘
2.标识符必须是字母、数字、下划线三种
3.标识符不允许为相应的关键字,且标识符对大小写敏感

例如:

_a、a_b、abc等均可作为合法字符
%a、a**等作为非法字符存在

保留的关键字

keywords 包含:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

代码注释

1.单行代码注释

	eg:#print("hello Python3")

2.多行代码注释

	'''
	这是多行
	注释的实例
	'''

缩进

同一个程序段的python不需要用大括号进行作用域限定,这里使用缩进进行作用域限定,要求要么统一使用空格要么统一使用tab进行缩进控制
相同缩进段的代码,所处的作用域相同

	if true:
	    print("True")
	else:
	    print("Flase");

多行语句

如果语句过长单行无法书写,这时可用反斜杠进行扩写
title="name" + \
      "sex" + \
      "grade"
执行上述代码后 title = "namesexgrade"

数据类型

Python3存在以下4种数据类型分别为:整型(int),布尔型(bool),浮点型(float),复数(complex)

字符串

str1="hello"
str2='hello'
str3="hello ""word"
str4="hello\%"
str5="hello'sgr'"
str6='I'+" love "+'you'
print(str1+'\n'+str2+'\n'+str3+'\n'+str4+'\n'+str5+'\n'+str6)

执行上述代码段后运行的结果如下:

hello
hello
hello word
hello\%
hello'sgr'
I love you

值得注意的是python3中没有单个字符类型,而且字符串不能被改变,截取字符串的语法格式为:变量[字符头索引:字符尾索引:步长]	

str="bobsggag"
print(str)
print(str[0:-1])#输出第一个到倒数第二个的所有字符
print(str[0:3])#输出第一个到第三个的字符
print(str[2:])#输出从第三个字符往后的字符
print(str[1])#输出第二个字符

输出如下
bobsggag
bobsgga
bob
bsggag
o

字符串内建函数

	capitalize()# 将字符串中的第一个字符变大写
	center(width, fillchar)# 返回一个宽度为width且居中的字符,填充字符为fillchar
	count(str, beg= 0,end=len(string))#返回beg和end之间出现的str的次数
	bytes.decode(encoding="utf-8", errors="strict")#该函数用于bytes对象来解码成str,同样可以str.encode()来生成bytes对象
	expandtabs(tabsize=8)#将字符串中的tab健转换成空格键,一个tab键可以代替8个空格
	find(str, beg=0, end=len(string))检查beg和end之间的str的位置,若有多个位置,则输出最小的索引,否则返回-1
	index(str, beg=0, end=len(string))同上,只不过如果不在str不在范围内会报出异常
	isalnum()判断字符串是否全为字母或数字,若是则返回1,否则返回0
	islower()判断字符串是否均为小写
	isspace()判断字符串是否只包含空格
	istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False
	isupper()判断字符串是否为大写
	join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
	lower()将字符串转化为小写
	lstrip()截掉字符串左边的空格或指定字符
	replace(old, new [, max])将new串替换掉old串,最多替换不超过max次
	rfind(str, beg=0,end=len(string))功能和find一样,只不过从右开始检索
	rstrip()删除字符串右边的所有空格或指定字符
	split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
	splitlines([keepends])按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
	startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
	title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

等待用户输入

a=input("请输入数据")
print(a)
请输入数据 3
3

同一个行多条语句

同一行多条语句之间通过分号“;”隔开

import和from…import

导入某个模块 import 模块名
导入某个模块中的函数 from 模块 import 函数名
导入某个模块中的多个函数  from 模块名 import 函数名1, 函数名2
导入某个模块中的所有函数 from 模块名 import *

标准的数据类型

s标准的数据类型为6种
	
	Number(数字) 这里指上述基本四种数据类型
	String(字符串)
	List(列表)
	Tuple(元组)
	Set(集合)
	Dictionary(字典)
	
其中不变的数据类型为 Number,Tuple, String
可变的数据类型为 List,Set, Dictionary