Python基础

打卡第一天
python全栈开发入门到放弃
python基础学习
介绍了Linux基本DOS
介绍了主流的编程语言
还有Python-Java-C-C++-Go-C#-PHP编译过程
python PHP java C#是先执行后翻译
C C++是全部翻译后执行
python发展史
编译型 = 全部编译,在执行,C C++
解释型 = 变执行边翻译 python PHP java C# prel ruby JavaScript

打卡第二天
python全栈开发入门到放弃
python基础学习
python2和python3
1.python3默认支持中文
2.不兼容python2
3.核心语法调整,更容易学
4.新特性默认只在3.x上有
python环境安装
写第一个python程序HelloWord
变量:
变量是为了存储 程序运算过程中的一些中间结果
变量是可以被修改的,
变量命名规则:
1.描述性
2.变量名只能_,数字,字母组成,不可以是空格或者特殊字符(# ?< $ & ¥ ~ * ~)
3.不能以中文为变量名
4.不能以数字开头
5.保留字符是不能被使用 比如:print
students_number = 30 这样命名,小写是变量
常量:
不变得量, π = 3.141592653.....
在py里面所有的变量都是可变的量,py中没有常量,为了区分变量和常量,
STUDENTS_NUMBEI = 60 这样命名,大写是常量
删除变量:
name = '小明'
1.强拆 def name
2.重新赋值
name = 6

字符编码:
一张中文字符编码表:GB2312 1980年 一共收入了7445个字符(一个字符等于8bit),包括687个汉字,
和682个其他字符。占用的码位是72*94=6768,其中有5个空位是D7FA-D7FE
1995年 GBK1.0 20000
2000年 GB18030 27000 window支持
Unicode 万国码 支持所有国家和地区的编码
UTF-8 = Unicode 的扩展集,可变长的字符编码集
Unicode 是向下兼容GBK和GB2312
Assic -- >GB2312 -- >GBK1.0 -- >GB18030 -- >Unicode -- > UTF-8
..................
python2.x = Assic码
python3.x = Unicode码

注释:
单行注释#
多行注释''''''

类型转换:
小案例 能活多久
1.name = input() # str类型
age = 100 # int 类型
name2 = int(name) # str类型转换成int类型
# print(name2)
duration = age-name2
# age = input()
# print('名字:%d'%name)
print('你还能活%s'%duration)

表达式 if ...else语句
1.缩进 语法必须要求
Tab键 != 4个空格
缩进必须统一
判断三种条件
if i == 2:
print()
elif i >3:
print()
else:
print()

打卡第三天
python基础学习
python全栈开发入门到放弃
运算符号 运算优先级
+ - * / // % ** 加 减 乘 除 整除 取余 次方
num +=8 == num = num + 8 ...等等
比较运算符
< >
逻辑运算符
not and or
and 并且 :
正常判断
5>3 and 6<2 Flase
真 假
or 或,或者:
只有有一个是条件为True,结果为True,
5>3 and 6<2 True
真 假
not 不:
not 5>6 True
优先级:not>and>or
短路原则:
对于and
如果前面的条件为假,那么这个and前后两个条件组成表达式
的计算结果就一定是假,第二个条件就不被计算,

对于or
如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式
的计算结果就一定为真,第二个条件就不被计算,
表达式:
1+2*3就是一个表达式,就这里的加号和乘号叫做运算符,

*循环
while
打印出100以内的偶数和基数:
偶数
num = 1
while num <=100:
if num%2 == 0:
print(num)
num += 1

基数
num = 1
while num <=100:
if num%2 == 1:
print(num)
num += 1

break
1.break是中断的意思
num = 1
while num <=100:
print(num)
num += 1
if num ==3:
break
打印的结果是 1 2


continue

打卡第四天
python全栈开发入门到放弃
Python基础学习
IDE 集成开发环境
vim #经典的linux下的文本集编辑器
Emacs # linux 文本编辑器 ,比vim更容易使用
Eclipse # Java IDE,支持python,c,c++
Visual Studio # 微软开发的 IDE,支持python,c,c++,Java,C#
notepad++,
sublime python开发的
pycharm,是主要用于python开发的IDE

字符格式化输入
占位符 %s s = string
name = input('Name:')
age = input('Age:')
jop = input('Jop:')
salary = input('Salary:')
if salary.isdigit(): # 是判断是不是数字
salary = int(salary)
else:
print('格式错误')

msy = '''
---------info of %s--------
Name:%s
Age:%s
Jop:%s
Salary:%s
----------end-------
''' % (name,name,age,jop,salary)
print(msy)


打卡第五天
python全栈开发入门到放弃
python基础学习
数据类型
1.整型int {integer}
2.长整形 long
in py3 已经不区分整型与长整型
3.浮点数 小数
4.复数(-5+4j)和(2.3-4.6j) 其中-5.4为实数,j为虚数
2.布尔 值
1.True 真
2.Flase
1.数字假
3.字符串
salry.isdigit()
计算机中,一切皆为对象
世间万物,皆为对象,一切对象皆可分类


打卡第六天
python全栈开发入门到放弃
Python基础学习
for 循环
for i in range(1,101,2) 基本语法 i 零时对象 1从一开始
循环101次,2是步长

break 退出循环 或者中断

while 死循环
continue 结束本次循环,继续下一次循环
break 跳出整个循环

*打卡七天
python全栈开发入门到放弃
python基础学习
列表
1.a = ['a','b','c','d','e'] 列表格式
2.增删改查
左包括,右不包括

取c的 a[2] 这里为什么是2呢,在计算机里从0开始
3.切片,去多值
print(a[0:3])a到c的值
print(a[0:])所有值
print(a[0:-1])取到列表的倒数第二位值
print(a[0:-1:1])最后的1是步长
print(a[0::2])从左到右隔一个去取
print(a[1::-2])从右到左

打卡第八天
python全栈开发入门到放弃
python基础学习
1.列表
添加
a = ['a','b','c','d','e']
a.append('f')append 添加方法,f是添加对象
a.insert(1,'f')insert插入方法,1是索引值,f是对象
修改
a = ['a','b','c','d','e']
a[0] = 'r' a[0] 单个修改,索引值 = 修改的值
a[0:3] = ['r','y','u'] 群改
删除
a = ['a','b','c','d','e']
a.remove('a')remove 删除方法,直接在括号里写要删除的值
a.pop(0)pop 删除索引,可以用变量来接收删除的值
del a 什么都可以删,

打卡第九天
python全栈开发入门到放弃
python基础学习
列表
1.p = ['to','be','or','not','to','be'].count('to')
count计算元素出现了多少次
2.a = [1,2,3] b = [4,5,6] a.extend(b)
extend把b的元素添加到a里面
3.a = ['a','b','c','d'] print(a.index('b'))
index找b的索引值 这里b的索引值是1 根据内容找位置
4.a = ['to','be','or','not','to','be'] a.reverse() print(a)
revrese把a的元素倒着打印
5.x = [4,5,6,7,1,2,3,8] x.sort() print(x)
sort给x排序
总结:
1.查
索引(下标),都是从0开始
切片
.count查某个元素的出现次数
.index根据内容找其对应的位置
2.增加
a.append() 追加对象
a.insert(index,'内容')
a.extend 扩展
3.修改
a[index] = '新的值'
a[start:end] = [a,b,c] 修改一堆值
4.删除
remove('内容')
pop(index)
del a,def a[index]
a.clear()清空
5.排序
sort()
reverse()

身份判断
<<<type(a) is list
<<<True

打卡第十天
python全栈开发入门到放弃
python基础学习
元组
1.对于一些数据我们不能被修改,可以使用元组
2.另外,元组的意义还在于,元组可以在映射(和集合的成员)中使用一一而列表则不行,
元组作为很多内建函数和方法的返回值存在


打卡第十一天
python全栈开发入门到放弃
python基础学习
字典
1.无序,键唯一
a = list()
dic = {'name','xin'}
增加值
dic1 = {'name':'alex'}
dic1['age'] = 18
dic1.setdefault('age',34) 给你相应的修改,如果,有了值,就给你返回值
查值
通过键值来查值 比如:dic1['name'] 返回值是xin
看键值 print(list(dic1.keys()))
看值 print(list(dic1.values()))
改值
dic1['name'] = 'alex'

dic2 = {'name':'o','age':'19'}
dic3 = {'hoding':'gril'}
dic2.update(dic3) 把dic3值加到dic2里面


打卡第十二天
python全栈开发入门到放弃
python基础学习
字典
删除
dic = {'name':'alex','age':35,'hobby':'girl','is_handsome':True}
del dic['name'] # 删除name值
dic.clear() # 删除字典的值
dic.pop() # 通过索引值来删除值
a = dic.popitem() # 随机删除某组键值对,并返回值
del dic # 删除字典

dic = {5:'555',2:'222',4:'444'} print(sorted(dic)) # 根据键值对排序
dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print ("字典所有值为 : ", list(dict.values())) values用来查数值
dic = {5:'555',2:'222',4:'444'}

# print(sorted(dic))
#
# p = dic.values(dic)
#
# print(p)
for i in dic:
print(i,dic[i]) for 循环遍历



打卡第十三天
python全栈开发入门到放弃
python基础学习
字符串
1.a = 'Let is go ' print(a*2) 重复输出字符串两次
print(a[2:]) 通过索引取字符串中字符,这里和列表的切片操作是相同的,
print('el' in 'hello') 前面的el是值,in 判断hello里面有没有el 关键字in
print('alex is good teacher')
print('%s is good teacher'%'alex') 格式字符串 通过变量接收alex 变得更灵活
a = '123'
b = '465'
c = '--'.join([a,b])print(c) -- 拼接 a,b WEB有需要
String的内置方法
st = 'hello kitty{name}' # \t expandtabs
print(st.count('l')) # 数字符串的l的个数
print(st.capitalize()) # 把整个字符串的首字母大写
print(st.center(50,'-')) # 居中 hello kitty 用-连接
print(st.endswith('y')) # 以某个内容结尾的字符 返回值是True
print(st.startswith('he')) # 以某个内容开头的字符 返回值是True
print(st.expandtabs(tabsize=20)) # 给内容加空格 , 没用 哈哈
print(st.find('t')) # 查找到一个元素,并将索引值返回
print(st.format(name = 'zhang')) # 格式化输出另一种方式
print('dddd'.isalnum())
print('002'.isdigit()) # 判断是不是数字
print('002'.isdecimal()) # 判断是不是数字
print('002'.isnumeric()) # 判断是不是数字
print('%'.isidentifier()) # 判断是不是字符
print('Asse'.isupper()) # 判断是不是大写
print(' r'.isspace()) # 判断是不是有空格
print('My Title'.istitle()) # 必须所有的字母首字母大写 ,才会返回True
print('My Title'.lower()) # 把所有的大写变成小写
print('my title'.upper()) # 把所有的小写变成大写
print('My title'.swapcase()) # 把小写变成大写,大写变成小写
print('My Tltle '.split(' ')) # 分割的效果 分成列表
print('My Title'.title())
print('My title title'.split('i',1))
print('\tMy tLtle\n'.strip())

# 重要的字符串方法
# print(st.count('l')) # 数字符串的l的个数
# print(st.center(50,'-')) # 居中 hello kitty 用-连接
# print(st.startswith('he')) # 以某个内容开头的字符 返回值是True
# print(st.find('t')) # 查找到一个元素,并将索引值返回
# print(st.format(name = 'zhang')) # 格式化输出另一种方式
# print('My Title'.lower()) # 把所有的大写变成小写
# print('my title'.upper()) # 把所有的小写变成大写
# print('\tMy tLtle\n'.strip())
# print('My title title'.split('i',1))

posted @ 2019-02-17 09:59  故人_叹息  阅读(290)  评论(0)    收藏  举报