一天从入门到放弃Python

初识Python

第一个Python程序

新建一个hello.py输入以下代码,控制台使用Python命令执行hello.py,第一个py程序搞定

print("hello,Python")

注释

单行注释#这是被注释的代码多行注释1.每一行用#2.三引号包围(''' 代码段''')("""   代码段  """)


数据类型

概要(扯犊子)

学习一门语言如何学?基本套路就是从环境搭建,ide选择,到第一个输出语句到接下来的数据类型开始认识!

Python也毫不例外这些套路.我们来认识下Python都哪些数据类型!

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

Number型

n=123 #一个整数型的数字,在py3.x版本以整数只有intf=123.0 #一个浮点型只有floatprint(type(n))  type可以返回变量类型

注意:布尔属于number的一种!

可以转为Flase的情况

0====>Flase[]====>Flase()====>Flasenone===>Flase

number型的运算类型

type(1)  #inttype(1+1) #inttype(1+1.0) #floattype(2/2)  #float ,注意此情况是floattype(2//2)  #number,双//是number类型
复数
a=36jb=4+5jtype(b)  #返回complex


进制转换
# 进制# 二进制:0b10# 八进制:0o1357# 十六进制:0xAF36#进制转换#转十进制int()#转二进制 0b开头bin()#转16进制 0x开头hex()#转八进制 0o开头oct()

String(字符串)型

三种字符串符号

单引

name='哈哈'

双引

name="李雷"

三引号(用于多行代码包围,简单理解类似于js的``)

name='''你好你丫哈哈哈'''
转义字符
#转义字符串#/n换行#/r回车# \t 缩进
原生字符串(不被转义)
#原生字符串#需要保留转义的用到转义字符串如保留D:\Python\basis\day01print(r"D:\Python\basis\day01");
字符串计算(重点)

字符串拼接

#拼接可用 + 或者 ,  并列还有其他方式#+方式print('hello'+'world')#helloworldprint('hello'*3)#hellohellohello#,方式 会显示空格print('hello','world')#hello  world#并列连接print('hello''world')  #结果:helloworld

指定字符串计算

str='helloworld'#str[0]获取第一位的字符#str[-n]从最后开始数#获取hello,第一个开始位置,末尾为结束的下一位print(str[0:6])#截取除最后两位print(str[0:-2])#截取hello2种方式:print(str[0:5])print(str[0:-5])newStr="hello C# JAVA PHP GO PYTHON c++ c ruby"#保留hello除外print(newStr[6:])#保留最后四位print(newStr[-4:])


列表(list)

何为列表?py三大可变数据类型的一种.类似于JavaScript中的数组形式也是一样.

我们来看下如何定义一个数组.呸!列表(List)

# 定义一个列表arr = [1, 5, 8, 'hello', 'world', False, True]# 检测类型print(type(arr))# 列表嵌套arr1 = [[1, 2, 3], ['hello', 'world'], ['this', 'is', 'Python']]print(type(arr1))

列表的相关操作和JavaScript的大体类似,又有着自己独立简洁的方式!

# 列表操作fruit = ["苹果", "梨子", "香蕉", "桃子"]# 选取指定某个位置的元素print(fruit[3])#选取指定位置开始到结束的print(fruit[0:3])#从后面截取,返回是单个数组print(fruit[-1:])#列表合并print(fruit+["火龙果","橙子","葡萄"])#列表相乘,返回['苹果', '梨子', '香蕉', '桃子', '苹果', '梨子', '香蕉', '桃子']print(fruit*2)

元组(tuple)

元组使用()定义,是一种不可变数据类型!我们看下简单食用方法!

#定义一个元组使用()tup=(1,2,3,4,5);

元组的相关操作

#使用指定的元组元素print(tup[0:2])print(tup[-3:])#元组数据相乘(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)print(tup*3)#元组合并print(tup+(5,6))#元组的使用方法大多数于列表相同,但是元组数据不可修改,不能元组复制#单个元组的话,里面本身是什么类型就返回自身类型,不会返回元组print(type((1)))  #intprint(type(('hello')))  #string
序列(str,list,tuple)相关共同点
#序列#包含:str(字符串),list(列表),tuple(元组)#1.可以使用+*操作#2.切片 下标索引等print([1,2,3][0])#3.in和not in操作print(3 in [1,3,5,7,9])  #返回Trueprint(3 not in [1,3,5,7,11])  #返回False#4.可以进行求出序列的最大值,最小值print(max(1,2,3))print(max(1,2,3))#非数字转换为ascll码进行比较print(max('你好,Python'))#获取指定字符的ascll码值print(ord('中'))

集合(Set)

定义一个集合(和上述的序列不同,集合是无序的)

#定义一个sets={1,2,3,4,3,3,5,4,5}print(s)print(type(s))  # 检测下集合的类型

判断是否包含可以使用序列的in和 not in方法

#判断是否在3内s={1,2,3,4,3,3,5,4,5}print(3 in s)  # True

集合的相关操作

#去除集合中的{3,4,5}使用-print(s-{3,4,5})  #返回集合{1,2}#找到2集合(或者多个)的重复元素print(s &{3,4}) # 返回重复的集合(交集)#找到多个集合的合并(并集) 用 |print(s | {8,9,10,5}) #返回 {1, 2, 3, 4, 5, 8, 9, 10}#判断集合的类型print(type({1,2,3}))  #返回setprint(type({}))   #空集合不返回set返回dict

定义一个空集合

print(type(set()))

字典(dict)

先来看下字典定义格式 {k:v,.....}

定义一个字典类型

d = {'name': '哈哈', 'age': '18', 'time': '2019-9-13'}print(type(d))

具体使用方式

# key 可以必须是不可变类型 int,str,tupleprint(type({(1, 2): '今天真好', 'test': '测试', 1: 'python'}))# key不能重复,但是1(int)和'1'(str)可以同时print({'a': 123, 'a': 456, 'b': '000'})  # {'a': 456, 'b': '000'}print({'1': 'hello', 1: 'world'})  # {'1': 'hello', 1: 'world'}# print({[1, 2]: 3})  # 报错,[1,2]是可变的# 字典访问 通过dict['key']访问print(d['name'])# 表示一个空的dictprint(type({}))# 一个空的集合setprint(type(set()))

值类型和引用类型

值类型(int,str,tuple)不可改变,引用类型(list set dict)可以改变

运算符

算术运算符

• +• -• *• /• %• **• //

赋值运算符

 ++ -- *= /= %= **= //=

比较运算符

><>=<===!=

逻辑运算符

andornot

身份运算符

innot in

位运算符(转为二进制计算,初次接触java时候也接触过,等同的方式)

&  按位于|  按位或^  按位异或~  按位取反>>  右移动<<  左移动

判断变量类型

isinstance(str,(type1,type2...))

IDE选择

  • 1.vscode

  • 2.sublime

  • 3.pycharm

流程控制

条件控制(if....else)

注意:py是通过缩进进行识别代码的,不需要其他语言的{}进行执行函数体,看一下简单的一个if语句p=Trueif p:  print('正确')else: print('错误')

模拟用户密码校验(check.py)

# 检测用户密码时候正确# 定义默认密码user_name = 'root'user_pwd = '123456'# 用户输入函数 inputprint('请输入您的用户名')name = input()print('请输入您的密码')password = input()if (name == user_name) & (password == user_pwd):    print('亲爱的管理员,欢迎登陆')else:    print('抱歉,账号或密码错误!')

循环

while循环

count = 1while count <= 10:    print("你好,Python!", count)    count += 1else:    print("循环结束")

for in循环

简单的for in遍历

fruit = ['apple', 'orange', 'peach', '西瓜', '火龙果']for x in fruit:    print(x)print("======================优雅的分隔符=======================")

常规for循环

其他语言for(i=0;i<10;i++){    代码段}py如何实现指定次数的循环呢!需要结合 range(star,end,步长)for x in range(0, 10):    print("你好,Python", x)#递减的for循环for n in range(10, 0,-1):    print("n:", n)

多重数据遍历

arr1 = [['apple', 'orange', 'peach', '西瓜', '火龙果'], (1, 2, 3)]for m in arr1:    for n in m:        print(n)

包 模块 类 变量和函数

包:一个文件夹,一个包下面包含多个模块

模块:一个文件(*.py),一个模块包含多个类

类:一个类包含一个或者多个变量,函数

包引入

import package_namepackage_name.变量/方法调用

包可以和模块嵌套,每个包里面可以多个模块

pack1=>{    pack2=>{        m1        m2        ....    }    m1    m2    m3    ....}

调用两个模块的m1

第一层的m1import m1print(m1.a)调用第二层的m1import pack2.m1对于包(package)名过长可以这样导入import package_name as new_name下次使用new_name调用既可

另一种引入方式

导入单个变量from  packa_name import a导入所有的变量from  packa_name import a,b,cfrom  packa_name import *

__init.py作用

init.py为包名导入共用的代码,提高可复用性注意:包和模块不能重复导入

函数

定义函数

"""定义一个函数def funcname(args_list):    代码段可以没有参数,可以没有返回值,可以使用return"""def func():    print("这是py的一个函数")func()

函数的定义和调用

"""定义一个两数相加函数"""def add(m, n):    return m + nprint(add(5, 8))"""打印输入的参数"""def arg(name, age):    print(name + '今年' + age)arg('李雷', '28')

函数参数的对应

def add(x,y): return x+y# 参数一一对应 add(3,5) # 也可以进行分别赋值 add(y=3,x=5)

多个赋值的几种方式

x,y,z=10,20,30x=y=z=10a=1,3,5type(a)  # 返回 tuple(元组)

默认参数

# 默认参数def student_info(name, sex='男', age='18', school='衡水中学'):    print("我是" + name)    print("我是" + sex + "生")    print("我今年" + str(age) + "岁")    print("我在" + school + "上学")# 传递就用新参数,不传递默认参数的值代替student_info("李雷")print("=======================================")student_info("韩梅梅", "女")print("=======================================")student_info("王小明", "男", 16)print("=======================================")#注意必须参数传在默认参数之前

默认参数其一的调用方式

# 默认参数指定其一
student_info("王二蛋",  age=16)
print("=======================================")

至此大概已经了解了py的基本语法,接下来开始py编码之路吧!

本博客所有文章如无特别注明均为原创。作者:十月梦想复制或转载请以超链接形式注明转自 十月梦想博客
原文地址《一天从入门到放弃Python
分享到:更多

未登录,暂时无法评论和查看评论!

点击这里给我发消息点击此处联系博主!