参考链接,(1)菜鸟教程 (2)廖雪峰python入门 (3)中文手册 (4)英文文档
一、知识点序号1,2,3,,,9
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 5.被注释内容。 上面一行为 utf-8格式输出
""" 6.多行注释被注释内容 """
import sys #4.Python内部提供一个 sys 的模块
import getpass #7.输入密码,不可见处理
name = "lanlan" #2.变量声明 字母、数字或下划线的任意组合
age = input("请输入年龄"); #3.输入
pwd = getpass.getpass("请输入密码:")
print ('hello,world') #1.输出
print (sys.argv) #sys.argv 用来捕获执行执行python脚本时传入的参数
print ('您的名字为:'+name)
print ('您输入的年龄为:'+age)
print ('您的不可见密码为:'+pwd)
#8.基本语法之流程控制
if name == "lanlan" and pwd == "123456":
print ("欢迎,lanlan!")
else:
print ("用户名和密码错误")
num = 0;
#9.基本语法之循环
while True:
print ('循环1--true')
break #break用于退出所有循环
while num<3:
num=num+1
print ('循环2--true')
continue #continue用于退出当前循环,继续下一次循环,直至不满足条件为止
二、数据类型
2.1基本数据类型
整数:int
字符串:str(注:\t等于一个tab键)
布尔值: bool
列表:list
列表用[]
元祖:tuple
元祖用()
字典:dict
2.2字符串所有数据类型的相关操作
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
-
#1.0.1字符串 相关操作 # -*- coding: utf-8 -*- #索引,切片,追加,删除,长度,切片,循环,包含 #索引 suo = "hello world!" print(suo[0]) #输出 h print(suo[2]) #输出 l #切片 切出hello,注:0是代表第一位,6代表位置索引小于6,直到第5个数 print(suo[0:6]) print(suo[5:8]) # wo 注意不是输出wo,是输出 wo,因为第5个位置是空格 #循环切片 u1 = "hello world,i love you!" u2 = 0 while u2 < len(u1): print(u1[u2]) u2+=1 # for u2 in u1: print('forin:'+u2) #字符串格式化 print ("My name is %s and weight is %d kg!" % ('Zara', 21)) #将一个值插入到一个有字符串格式符 %s 的字符串中。格式符多样,请参考文档 #字符串格式化,方法2,format tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) tpl2 = "i am {name}, age {age}, really {name}".format(name="seven", age=18) print (tpl) print (tpl2)
2.3 字典操作
-
user_info = { 0 :"lanlan", "age" :"18", 2 :"zadila~" } #获取所有的key print(user_info.keys()) #获取所有的values print(user_info.values()) #获取所有的key和values print(user_info.items()) clear清除所有的内容 user_info.clear() print(user_info) #get 根据key获取值,如果key不存在,可以指定一个默认值 val = user_info.get('age') #!!!注意此处,可取未存在的key值 print(val) #update批量更新 test = { 'a':111, 'b':222 } user_info.update(test) print(user_info)
三、函数
-
#!/usr/bin/python3 # -*- coding: utf-8 -*- import copy languages = ["C", "C++", "Perl", "Python"] for i in languages: print (i) for item in ['aa','bb','cc']: # for <item> in <dict list> : pass #此处必须有执行语句或者 pass语句 #定义函数 def changeFun(arg1,*vartuple): print ('加了星号 * 的参数会以元组(tuple)的形式导入') print (vartuple) #调用函数 changeFun(2,4,6) #定义函数 def changeDictFun(arg2,**varDict): print ('加了星号 ** 的参数会以字典(dict)的形式导入') print (varDict) #调用函数 changeDictFun(1, a=2,b=3) #调用函数,字典调用方式2 li = {'name':'wupeiqi', 'age':18, 'gender':'male'} changeDictFun(33,**li) # ######### 数字、字符串 ######### #数字、字符串,赋值、浅拷贝和深拷贝永远指向同一个内存地址。 a1 = 123 # n1 = "i am alex age 10" print(id(a1)) #id 查看内存地址 # ## 赋值 ## a2 = a1 print(id(a2)) # ## 浅拷贝 ## a2 = copy.copy(a1) print(id(a2)) # ## 深拷贝 ## a3 = copy.deepcopy(a1) print(id(a3)) # ######### 字典、元祖、列表 ######### #字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝,内存地址变化。 b1 = {'c1':12345,'c2':'C222','c3':['rr','tt']} print('b1-机器地址:') print(id(b1)) #赋值 只是创建一个变量,该变量指向原来内存地址 b2 = b1 print(id(b2)) #同上 b3 = copy.copy(b1) print(id(b3)) #变化 b4 = copy.deepcopy(b1) #变化 print(id(b4)) # #all,循环参数,如果每个元素为真,那么all返回的为真,有一个为假返回的就是假的 # a = all((None,123,456,False)) # print(a) #返回的为假的,证明中间有False值 # # #所有的假值有 # #0,None,空值 # #any 只要之前有一个是真的,返回的就是真 # b = any([11,False]) # print(b) # filter对于序列中的元素进行筛选,最终获取符合条件的序列(需要循环) # def f1(x): # if x >22: # return True # else: # return False # # ret = filter(f1,[11,22,33,44,55]) # for i in ret: # print(i) # #随机生成6位验证码 # import random # temp = '' # for i in range(6): # num = random.randrange(0,4) # if num ==3 or num ==1: # rad1 = random.randrange(0,10) # temp+=str(rad1) # else: # rad2 = random.randrange(65,91) # c1 = chr(rad2) # temp+=c1 # print(temp)
- #lambda:需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数
-
my_lambda = lambda x : x + 1 #定义函数 add = lambda x, y : x+y #执行函数 addz=add(1,2) print (addz)
# 在python中*运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果 print("-" * 50) #输出:--------------------------------------------------