Python语言系列-01-入门
python的出生与应用
#!/usr/bin/env python3
# author:Alnk(李成果)
"""
1,python的出生与应用
python的创始人为吉多·范罗苏姆(Guido van Rossum)。
1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,
作为ABC语言的一种继承
2,python的历史
python2x:
源码冗余,源码重复,源码不规范。
python3x:
源码清晰优美简单。
3,python的编码语言分类
print('hello ') ----> 字节码 ---> 00010101
解释型:
代码逐行的解释(字节码转化成010101),并执行。
优点:
开发效率高,可以跨平台。
缺点:
执行效率慢。
代表语言:python,php。
编译型:
将代码一次性全部编译成(字节码)二进制,在执行。
缺点:开发效率低,不能跨平台。
优点:执行效率相对高。
代码语言:c。
4,python的优缺点
优点:
1, 开发效率高,模块很多,避免重复造轮子。
2, 高级语言,不用考虑底层的细节。
3, 可嵌入性,python代码可嵌入C语言中。
4, 可拓展性,可嵌入c语言的代码。
5, 可移植性。
缺点:
1, 执行效率相对低。
2, 代码不能加密。
3, 不能利用多线程。
5,python的种类
Cpython: 官方推荐。
Jpython:将python代码可以解释成Java能识别的字节码,然后执行。
Ironpython: 将python代码可以解释成.net识别的字节码,然后执行。
PyPy , Ipython等等。
"""
运行第一个Python代码
#!/usr/bin/env python3
#author:Alnk(李成果)
"""
终端:cmd: python 文件路径 回车
python2x:编码默认是ascii:只包含数字,字母特殊字符。
文件的首行:# -*- encoding: utf-8 -*-
python3x: 编码是utf-8.
"""
print('Hello World')
print('Hello 中国')
变量和常量
#!/usr/bin/env python3
#author:Alnk(李成果)
# 变量:将程序运行的中间结果暂存起来,以遍后续程序调用
# 变量命名规则:
# 1,变量名必须由数字 字母 下划线 任意组合
# 2,变量名不能是数字开头
# 3,变量名不能是Python中的关键字
# ['and', 'as', 'assert', 'break', 'class', 'continue', 'def',
# 'del', 'elif', 'else', 'except', 'exec', 'finally',
# 'for', 'from', 'global', 'if', 'import', 'in', 'is',
# 'lambda', 'not', 'or', 'pass', 'print', 'raise',
# 'return', 'try', 'while', 'with', 'yield']
# 4,变量名不能使用中文
# 5,变量名要具有可描述性
# name = 'alnk'
# age = 18
# 6,变量名不能过长。
# 7,变量名的推荐:
# 驼峰体: AgeOfOldboy = 47
# 下划线: age_of_oldboy = 47 建议使用这种
age1 = 12
age2 = age1
age3 = age2
age2 = 36
print(age1,age2,age3) # 12 36 12
# 常量 一直不变的量
# 命名规则:全部大写的变量 设置为常量
# 并且放在文件的最上面,设置一些不想让别人改变的变量
BIRTH_OF_CHINA = 1949
BIRTH_OF_CHINA = 1980 # 在python中,常量要更改也不会报错,但是不建议这么做
print(BIRTH_OF_CHINA) # 1980
注释
#!/usr/bin/env python3
#author:Alnk(李成果)
# 注释
# 解释说明。
# 单行注释:#
# 多行注释: """被注释内容""" '''被注释内容'''
#
# 文件说明,函数,类,等等。
# 晦涩难懂的代码写注释。
# 帮助别人理解你的代码,或者帮助你阅读别人的代码。
python基础数据类型
int整型
#!/usr/bin/env python3
#author:Alnk(李成果)
"""
int :
整型
1 100 ,-98 ....
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
"""
i1 = 100
i2 = 20
print(i1 + i2)
str字符串
#!/usr/bin/env python3
#author:Alnk(李成果)
# str
# python中凡是用引号引起来的的内容就是字符串。
# ' ' " " """ """ ''' '''
s1 = "tom"
s2 = 'tom'
s3 = 'I\'m tom, my age is 18'
s4 = "I'm tom, my age is 18"
print(s1, s2, s3, s4)
# ''' ''' """ """ 换行的字符串需要三引号
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)
# 字符串 可以相加,可以与数字相乘
s1 = 'jerry'
s2 = 'sb'
s3 = s1 + s2
print(s3)
s4 = '坚强'
print(s4 * 8)
bool值
#!/usr/bin/env python3
#author:Alnk(李成果)
# bool
# True False
# 用于不等式或者条件的判断。
print(1 > 2) # False
print(3 > 2) # True
s5 = 'True'
b1 = True
print(s5, b1) # True True
print(s5, type(s5)) # True <class 'str'>
print(b1, type(b1)) # True <class 'bool'>
用户交互input
#!/usr/bin/env python3
#author:Alnk(李成果)
"""
用户交互input。
类似于qq等app 输入用户名,密码等功能。
input('提示语') 字符串数据类型
想要与程序交互一些重要信息时,账号,身份证号,密码等等。
python2x:
raw_input() 相当于python3.x input。
input() 只接受数字类型。
python3x:input
"""
# 用户交互input
# input出来的数据全部都是str类型。
name = input('请输入姓名:')
age = input('请输入年龄:')
print(name, age)
print(type(name), type(age))
# '我的姓名xx,我的年龄xx,我的性别xx.'
name = input('请输入姓名:')
age = input('请输入年龄:')
sex = input('请输入性别:')
msg = '我的姓名是' + name + ',我的年龄是' + age + ',我的性别是' + sex
print(msg)
print('我的名字', '是', name)
print('我的姓名是' + name + ',我的年龄是' + age + ',我的性别是' + sex)
流程控制语句if
#!/usr/bin/env python3
#author:Alnk(李成果)
"""
流程控制语句if
根据不同的条件,选择不同的结果。回家,三条路可选择。
1,基本用法:
if 条件:
执行结果
2,5种结构:
if 条件:
执行结果
大量的出现在你的程序中,让你的程序有不同的执行流程。
"""
# 单独if
'''
age = int(input('请输入年龄'))
if age > 18:
print('做你想做的事儿')
print(666)
'''
# if else
'''
age = int(input('请输入年龄'))
if age > 18:
print('做你想做的事儿')
else:
print('安心上学....')
'''
# if elif elif ...
"""
num = input('请输入数字:')
if num == '5':
print('请你吃饭')
elif num == '1':
print('带你去香港')
elif num == '3':
print('请你去大宝剑')
"""
# if elif elif ... else
'''
score = int(input("输入分数:"))
if score > 100:
print("最高分才100...")
elif score >= 80:
print("B")
elif score >= 90:
print("A")
elif score >= 60:
print("C")
elif score >= 40:
print("D")
else:
print("太笨了...E")
print(666)
'''
# if 嵌套
'''
code = 'ABCD'
your_code = input('输入验证码')
username = input('请输入用户名')
password = input('请输入密码')
if your_code == code:
if username == 'tom' and password == '123':
print('登录成功')
else:
print('用户名或者密码错误')
else:
print('您输入的验证码错误')
'''
流程控制语句while
#!/usr/bin/env python3
#author:Alnk(李成果)
"""
while:无限循环
while 条件:
循环体
如何结束循环?
1, 条件不成立。
2, break
3, 系统命令:quit() exit() --不建议使用,会导致整个程序退出
"""
# while 循环
# while True:
# print('光年之外')
# print('千里之外')
# print('美人鱼')
# print('沙漠骆驼')
# flag = True
# while flag:
# print('光年之外')
# print('千里之外')
# print('美人鱼')
# print('沙漠骆驼')
# flag = False
# flag = True
# while flag:
# print('光年之外')
# print('千里之外')
# print('美人鱼')
# flag = False
# print('沙漠骆驼')
# count = 1
# flag = True
# while flag:
# print(count)
# count = count + 1
# if count == 101:
# flag = False
# count = 1
# while count < 101:
# print(count)
# count = count + 1
# break continue
# break: 遇到break直接结束循环。
# while True:
# print(111)
# print(222)
# break
# print(333)
# print(555)
# continue: 遇到continue跳过本次循环。
count = 1
while count < 10:
print(count)
count += 1
if count == 5:
continue
练习题1
#!/usr/bin/env python3
# author:Alnk(李成果)
"""
1. 三次重试机会
2. 每次输错误时显示剩余错误次数
"""
name = "alnk"
password = "123"
code = "abcd"
flag = True
count = 3 # 密码可输错次数
while flag:
your_name = input("请输入账号:")
your_password = input("请输入密码:")
your_code = input("请输入验证码:")
# 判断验证码
if your_code.lower() != code:
print("验证码有误,请重新输入。")
continue
# 判断账号密码
if your_name == name:
if your_password == password:
flag = False
print("恭喜,登录成功!")
else:
count = count - 1
print("密码错误,剩余次数为[%s]" % (count))
else:
print("账号有误,请重新输入。")
if count == 0:
print("账号冻结,请联系系统管理员")
flag = False
练习题2
#!/usr/bin/env python3
# author:Alnk(李成果)
# 1、简述变量命名
"""
变量命名规则:
1,变量名必须由 数字 字母 下划线 任意组合
2,变量名不能是数字开头
3,变量名不能是Python中的关键字
['and', 'as', 'assert', 'break', 'class', 'continue', 'def','del', 'elif', 'else', 'except', 'exec', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is','lambda', 'not', 'or', 'pass', 'print', 'raise','return',
'try', 'while', 'with', 'yield']
4,变量名不能使用中文
5,变量名要具有可描述性
6,变量名不能过长。
7,变量名的推荐:
下划线: age_of_tom = 18
"""
# 2、name = input(“>>>”) name变量是什么数据类型?
"""
name变量的数据类型是字符串
"""
# 3、if条件语句的基本结构?
"""
有5种基本结构,如下:
第一种:单独 if
if 条件:
执行语句
第二种:if ... else
if 条件:
执行语句
else:
执行语句
第三种:if elif elif ...
if 条件:
执行语句
elif 条件:
执行语句
elif 条件:
执行语句
elif 条件:
执行语句
...
第四种:if elif elif ... else
if 条件:
执行语句
elif 条件:
执行语句
elif 条件:
执行语句
...
else:
执行语句
第五种:嵌套if
if 条件:
if 条件:
执行语句
...
...
"""
# 4、用print打印出下面内容:
# 文能提笔安天下,
# 武能上马定乾坤.
# 心存谋略何人胜,
# 古今英雄唯是君.
"""
msg = '''
文能提笔安天下,
武能上马定乾坤.
心存谋略何人胜,
古今英雄唯是君.
'''
print(msg)
"""
# 5、利用if语句写出猜大小的游戏
# 设定一个理想数字
# 比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;
# 如果比66小,则显示猜测的结果小了;
# 只有等于66,显示猜测结果正
"""
num = 66
flag = True
while flag:
user_num = input("请输入数字(退出Q):")
if user_num.lower() == "q":
break
if user_num.isdigit():
user_num = int(user_num)
if user_num > num:
print("结果大了")
elif user_num < num:
print("结果小了")
else:
print("结果正确")
flag = False
else:
print("您输入的不是数字哦")
"""
# 6、提示用户输入他的年龄, 程序进行判断
# 如果小于等于10, 提示小屁孩,
# 如果大于10, 小于等于20, 提示青春期叛逆的小屁孩.
# 如果大于20, 小于等于30. 提示开始定性, 开始混社会的小屁孩儿,
# 如果大于30, 小于等于40. 体制看老大不小了, 赶紧结婚小屁孩儿.
# 如果大于40, 小于等于50. 提示家里有个不听话的小屁孩儿.
# 如果大于50, 小于等于60. 提示自己马上变成不听 话的老屁孩儿.
# 如果大于60, 小于等于70. 提示活着还不错的老屁孩儿.
# 如果大于70, 小于等于90. 提示人生就快结束了的一个老屁孩儿.
# 如果大于90以上. 提示. 再见了这个世界.
"""
age = int(input("请输入你的年龄:"))
if age > 90:
print("再见了这个世界")
elif age > 70:
print("人生就快结束了的一个老屁孩儿")
elif age > 60:
print("活着还不错的老屁孩儿")
elif age > 50:
print("自己马上变成不听话的老屁孩儿")
elif age > 40:
print("家里有个不听话的小屁孩儿")
elif age > 30:
print("看老大不小了, 赶紧结婚小屁孩儿")
elif age > 20:
print("开始定性, 开始混社会的小屁孩儿")
elif age > 10:
print("青春期叛逆的小屁孩")
elif 0 < age <= 10:
print("小屁孩")
"""
# 7、单行注释以及多行注释?
# 单行注释: #
# 多行注释: """被注释内容""" '''被注释内容'''
# 8、简述你所知道的Python3x和Python2x的区别?
"""
第一:源码
python2x:源码冗余,源码重复,源码不规范。
python3x:源码清晰优美简单。
第二:编码
python2x:编码默认是ascii
python3x: 编码是utf-8
第三:input函数
python2x:raw_input() 相当于python3.x input input() 只接受数字类型。
python3x:input
"""
# 9、提示用户输入麻花藤. 判断用户输入的对不对. 如果对, 提示真聪明, 如果不对, 提示你 是傻逼么
"""
user_str = input("请输入麻花藤:")
if user_str.strip() == '麻花藤':
print("真聪明")
else:
print("你是傻逼么")
"""
# 10、使用while循环输入 1 2 3 4 5 6 8 9 10
"""
count = 0
while count < 10:
count += 1
if count == 7:
continue
print(count)
"""
# 11、求1-100的所有数的和
"""
sum = 0
count = 0
while count < 101:
sum = sum + count
count = count + 1
print(sum)
"""
# 12、输出 1-100 内的所有奇数
"""
count = 1
while count < 100:
if count % 2 == 1:
print(count)
count = count + 1
"""
# 13、输出 1-100 内的所有偶数
"""
count = 1
flag = True
while flag:
if count == 100:
flag = False
if count % 2 != 1:
print(count)
count = count + 1
"""
# 14、求1-2+3-4+5 ... 99的所有数的和
"""
odd_sum = 0 #奇数总和
even_sum = 0 #偶数总和
count = 1
flag = True
while flag:
if count == 99:
flag = False
if count % 2 == 1:
odd_sum = odd_sum + count
else:
even_sum = even_sum + count
count = count + 1
sum = odd_sum - even_sum
print("和为:",sum)
"""
# 另外一种解法
sum = 0
count = 1
while count < 100:
if count % 2 == 0:
sum = sum - count
else:
sum = sum + count
count += 1
print(sum)
Python语言系列-01-入门的更多相关文章
- Python语言系列-05-模块和包
自定义模块 #!/usr/bin/env python3 # author:Alnk(李成果) # 为什么要有模块?(内置函数不够用) # 和操作系统打交道 # 和python解释器打交道 # 和时间 ...
- Python语言系列-02-基础数据类型
格式化输出 #!/usr/bin/env python3 # author:Alnk(李成果) # 百分号% 格式化输出 name = input('姓名:') age = input('年龄:') ...
- Python 语言简介与入门
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- Python语言系列-10-数据库
MySQL 基础环境准备 readme.txt 作者:Alnk(李成果) 版本:v1.0 安装mysql数据库 略 创建student库 # mysql> create database stu ...
- Python语言系列-07-面向对象2
重构父类__init__方法 #!/usr/bin/env python3 # author:Alnk(李成果) # 需求:Dog类要新增一个实例属性,但是Cat类不需要 class Animal(o ...
- Python语言系列-09-socket编程
简介 软件开发的架构 1.C/S架构(client-server) 2.B/S架构 (browser-server) 网络基础概念 网络三要素: 1.ip 2.port 3.通信协议:TCP.UDP ...
- Python语言系列-08-面向对象3
反射 #!/usr/bin/env python3 # author: Alnk(李成果) # 反射 # hasattr getattr setattr delattr class Animal(ob ...
- Python语言系列-06-面向对象1
楔子 #!/usr/bin/env python3 # author:Alnk(李成果) # 人狗大战例子引入面向对象 # 版本1 def hero(name, sex, hp, ce, level= ...
- Python语言系列-04-高阶函数
闭包 #!/usr/bin/env python3 # author:Alnk(李成果) # 什么是闭包 # 1,闭包存在于函数中 # 2,闭包就是内层函数对外层函数(非全局变量)的引用 # 3,最内 ...
随机推荐
- CG-CTF WxyVM2
一.原本以为要动调,因为出现了这个,函数太长,无法反编译 后面才知道这玩意可以在ida的配置文件里面去改,直接改成1024. 里面的MAXFUNSIZE改成1024,就可以反编译了,这个长度是超过这个 ...
- 使用Octotree插件在Edge上以树形结构浏览GitHub上的源码
先预览效果左侧的目录通过点击,就可以到达对应的源码位置. 首先点击打开Edge中的浏览器扩展在右上角...=>点击扩展=>点击获取Microsoft Edge扩展按钮=>在左侧搜索所 ...
- 家庭账本开发day04
对之前的构架进行修改,对成员类新加属性余额,在进行账单的新增时 ,对余额进行相应的修改.并且对账单类加入属性:id方便之后的查询和 删除操作
- 高校表白App-团队冲刺第三天
今天要做什么 今天开站立会议的时候,忽然发觉在一个完整的App上好像是有一些引导页的,比如说在第一次使用App的时候,或者是在使用App的时候会出现新手指引操作. 做了什么 通过查阅资料来学习View ...
- 单细胞分析实录(17): 非负矩阵分解(NMF)代码演示
本次演示使用的数据来自2017年发表于Cell的头颈鳞癌单细胞文章:Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumo ...
- Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据
Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...
- uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式
前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...
- 为什么要学习Netty?
一.传统的BIO编程 网络编程的基本模型是 Client/Server 模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的 IP 地址和监听端口),客户端通过连接操作向服务端监听 ...
- python 环境遇到的报错
pipenv install -r requirements.txt 时遇到错误: `Command "python setup.py egg_info" failed with ...
- [编译] 8、在Linux下搭建 stm8 单片机的开发烧写环境(makefile版)
目录 一.SDCC(Small Device C Compiler)编译环境搭建 1.1.下载 1.2.编译 1.3.测试 二.Hex2Bin+命令行烧写工具配置使用 2.1.下载工具安装配置 2.2 ...