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,最内 ...
随机推荐
- Mysql:报错message from server: "Too many connections"(连接太多)
报错信息 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source re ...
- redis学习笔记(一)——windows下redis的安装与配置
前言 很久没有写东西了(.......我的水平就是记个笔记),北漂实习的我,每天晚上回来都不想动,但是做为社会主义接班人的我,还是要时刻给自己充充电,趁着年轻,趁着日渐脱发的脑袋还没有成为" ...
- [开源名人访谈录] Philippe Gerum
译至:http://www.advogato.org/article/803.html 译者按:这篇采访的时间很早,但有助于你了解Xenomai相关的背景. 这是对菲利普格鲁姆,ADEOS项目的共同领 ...
- Pytorch的模型加速方法:Dataparallel (DP) 和 DataparallelDistributedparallel (DDP)
Dataparallel 和 DataparallelDistributed 的区别 一.Dataparallel(DP) 1.1 Dartaparallel 的使用方式 Dataparallel 的 ...
- (精)题解 guP4878 [USACO05DEC] 布局
差分约束模版题 不过后三个点简直是满满的恶意qwq 这里不说做题思路(毕竟纯模板),只说几个坑点: 1. 相邻的两头牛间必须建边(这点好像luogu没有体现),例如一组数据: 4 1 1 1 4 10 ...
- 数据库:随机显示n条记录
1.sqlite3数据库select * from QG order by random() limit 6 以下显示前10条记录 2.SQL Server数据库select top 10 * f ...
- C语言:基本数据类型及表示范围
类型名称 标识符 printf()标志 占据 范围 无符号 unsigned 范围 类型名称 类型标识符 printf标志 占字节数 表示范围 ...
- CF1025B题解
其他的几篇题解大多都是先求了 \(c_i \gets lcm(a_i,b_i)\) ,然后求全部 \(c_i\) 的最大公约数,但是对每一组数都求一下 \(lcm(a_i,b_i)\) 会增加时间复杂 ...
- 【LeetCode】203.移除链表元素
203.移除链表元素 知识点:链表:双指针 题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 . 示例 ...
- java对接c++发布的webservice接口,其中参数类型有base64Binary格式(无需将图片数据转化为c++中的结构体)
接口名称: std::string SendVehiclePass(std::string VehiclePassInfo, struct xsd__base64Binary PlatePicData ...