python基础知识点
注释请用#
-
用三引号输出多行字符,也可以打印出‘ 和“”
seek='''This is first line This is second line What's your name,"lzw" This is third line'''
用三引号输出多行字符,也可以打印出‘ 和“”
也有format方法,类似java
-
原始字符串前面+r或R(未经处理的特殊字符串,例如含有\n)
a. str = r"wome \n"
if...else 语句(python没有switch语句)不用带括号,后面要加个冒号
a. number=23;
guess=int(input('Enter an integer:'))
if number==guess:
print('Congratulations,you guessed it');
elif guess<number:
print('No, it is a little highter than that')
else:
print('No,it is a little lower than that');
print("Done");
-
while可以跟else
number=23; running=True; while running: guess=int(input('Enter an integer:')); if number==guess: print('Congratulations,you guessed it'); running=False; elif guess<number: print('No, it is a little highter than that') else: print('No,it is a little lower than that'); else: print('The while loop is over'); print("Done")
也有break和continue
-
函数是可重复使用的程序片段,定义一个函数 def 函数名()
def print_max(a,b): if a<b: print("The Max is ",b); elif a>b: print(a,"is maximum"); else: print("equal");
-
不使用global语句的情况下,不可能为一个定义于函数之外的变量赋值。global 全局变量
x = 5; def print_local(): global x; #可以定义多个全局变量 global x,y,z...; print('print local',x); x=50; print('print change x--',x); print_local(); print('x=--',x)
-
局部变量
x = 5; def print_local(x): x=50; print('print local',x); print('x=--',x) print_local(x);
-
默认参数值
-
对一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况。
你可以通过在函数定义时附加一个赋值运算符(=)来为参数指定默认参数def say_hello(message,times=4): print(message*times); say_hello("hello",2); say_hello("word");
-
关键字参数
a. 如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过命名他们来给这些参数赋值 keyword Arguments,我们使用命名而非位置来指定函数中的参数
def func(a,b=5,c=10): print("a is",a,"and b is",b,"c is",c); func(1); func(c=4,a=5,b=2); a is 1 and b is 5 c is 10 a is 5 and b is 2 c is 4
-
。如果打乱顺序的话,c在a前面,必须写成a= ,显示指出a要穿的值
-
可变参数
def total(a=5,*numbers,**phonebook): print('a',a) #遍历元组中的所有项目 for single_item in numbers: print('single_item',single_item) #遍历字典中的所有项目 for first_part,second_part in phonebook.items(): print(first_part,second_part) print(total(10,1,2,3,jack=1123,john=2231,Inge=1560)); #当我们声明一个诸如*param的星号参数时,从此处开始直到结束的所有位置参数(Positional arguments) #都将被收集并汇集成一个成为“param”的元组;类似地,当我们声明一个诸如**param的双星号参数时,从 #此处开始直至结束的所有关键字参数都将被收集并汇集成一个名为param的字典(Dictionary)
-
return语句
a. 要注意到return语句没有搭配任何一个值则代表着返回None。None在python中是一个特殊的类型,代表着虚无
def maxmium(x,y): if x>y: return x; elif x==y: return "x equals y"; else: return y; print("return=",maxmium(4,4)); print("return=",maxmium(4,5)); print("return=",maxmium(4,3));
-
DosStrings
我们可以使用函数的doc(注意时双下划线)来获取函数的文档字符串属性
i.def some_functions(): '''aaaaaaaaaaaaabbbbbbbbbbccccccccc fsafdsafewwwwwwwwwwwwww weeeeeeeeeeeeeeeeeeeeeee''' print(some_functions.__doc__);
文档字符串的约定:
其中第一行以某一大写字母开始,以句号结束。第二行为空行,后跟的第三行开始是任何详细的解释说明
-
模块
import sys; print('The command line arguments are:'); for i in sys.argv: print(i); print('\n\nThe PYTHONPATH is',sys.path,'\n');
-
from...import 语句
from math import sqrt; print('sqrt root of 16 is,',sqrt(16)); Warning:一般来说你应该尽量避免使用from...import 语句,,而去使用import语句。这 是为了避免在你的程序中出现名称冲突,同时也为了使程序更加易读
-
模块的name
每个模块都有一个名称,而模块中的语句可以找到它们所处的模块的名称。着对于确定模块是独立运行还是被导入进来运行的这一特定目的来说大有可为。当模块第一次被导入时,它所包含的代码将被执行。if __name__=='__main__': print('This program is being run by itself'); else: print('I am being imported from another module'); C:\Users\Administrator\Desktop>python hello.py This program is being run by itself C:\Users\Administrator\Desktop>python Python 3.7.0a4 (v3.7.0a4:07c9d85, Jan 9 2018, 07:07:02) [MSC v.1900 64 bit 64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import hello I am being imported from another module
定义自己的模块
a. 使用自己定义的模块dir函数
a. import sysdir(sys)